* Тема: Совместный анализ в пакете SPSS. Пример анализа плана 2 x 2 с модулем Conjoint и без него. * Ключевые слова: совместный анализ, коджойнт, conjoint, профиль, полезность, важность атрибутов. * Авторы: Балабанов Антон (ННГУ), Владимир Караев (ЗАО Сибитек, г. Н.Новгород). * Опубликован: 10.06.2008. * Размещён: http://www.spsstools.ru/Syntax/Conjoint/Conjoint2By2Example.txt (.sps). * Проверен: SPSS 15.0.1.1. * Учебный пример оценки частных полезностей в совместном (conjoint) анализе в пакете SPSS стандартными средствами модуля SPSS Base и с привлечением функции CONJOINT дополнительного модуля SPSS Conjoint. * Пример содержит упрощенную модель товара (автомобиль), состоящую из 2 атрибутов (марка, цена) и двух уровней каждого атрибута (условные марки "R" и "H", цены: 32 0000 у.е. и 35 000 у.е.). Указанная модель допускает создание 4 профилей, которые образуют ортогональный план минимального объёма, являющийся, в то же время, полным факторным планом. * Общий случай планирования экспериментов для проведения совместного анализа не разбирается. * Дальнейший анализ результатов (прогноз рыночных долей, оценка ценовой эластичности и т.д.) не проводится. * Синтаксис является приложением к методическому дополнению цикла статей авторов "Совместный анализ в практике исследования рынка" (журнал "Маркетинг в России и за рубежом", 2008 г.). * См. страницу http://www.spsstools.ru/SampleSyntax.htm#Conjoint. * В комментариях содержатся ссылки на номера СТРАНИЦ, ТАБЛИЦ и ФОРМУЛ в тексте http://analisi-dei-dati.narod.ru/ConjointSimple.pdf. * 1. Установим рабочую директорию сессии SPSS (создайте указанную директорию, либо укажите существующий путь). CD 'D:\\conjoint\\'. * 2. Создадим файл плана (ТАБЛ. 4) с перечнем профилей для опроса. DATA LIST LIST /prof make price. BEGIN DATA. 1 1 35000 2 1 32000 3 2 32000 4 2 35000 END DATA. * Дадим пояснения к названиям переменных и меткам значений. VAR LAB prof 'Номер профиля' /make 'Марка' /price 'Цена, у.е.'. VAL LAB make 1 'R' 2 'H'. * Выведем перечень профилей в таблицу (аналог ТАБЛ. 4) и сохраним файл плана. SUMM prof make price /FORMAT VALIDLIST NOCASE /TITLE 'План опроса' /CELLS COUNT. SAVE OUTFILE 'car_plan.sav'. * 3. Создадим файл с результатами сымитированного опроса респондентов (ТАБЛ. 5). * В переменной resp хранится номер респондента, переменные prof1-prof4 хранят оценку респондента, данную им соответствующим профилям (из файла плана) по шкале от 1 - "точно не куплю" до 10 - "точно куплю". DATA LIST LIST /resp prof1 To prof4. BEGIN DATA. 1 4 9 6 2 2 3 8 8 3 3 2 5 7 3 4 7 8 5 2 5 5 5 5 3 END DATA. * Выведем ответы респондентов в таблицу (аналог ТАБЛ. 5) и сохраним файл данных. SUMM resp prof1 To prof4 /FORMAT VALIDLIST NOCASE /TITLE 'Данные опроса' /CELLS COUNT . SAVE OUTFILE 'car_data.sav'. * Сопоставление средних значений оценок профилей по всем респондентам позволяет получить первое представление о совокупной полезности оценённых профилей: второй профиль можно признать более удачным с точки зрения покупателя, четвёртый - менее удачным. DESCR prof1 To prof4. * -----------------------------------------------------------------------------------------------. * 4а. Оценка частных полезностей в модуле SPSS Base. * Примеч.: данный раздел имеет целью полнее отразить этапы вычисления оценок частных полезностей в совместном анализе. Разобран наиболее простой пример. * Для решения реальных задач удобнее пользоваться специальными средствами (например, модулем SPSS Conjoint, пример использования которого приведён в следующем разделе). * -----------------------------------------------------------------------------------------------. * Для оценки частных полезностей в процедуре SPSS REGRESSION необходимо представить исходные данные и файл плана в особом виде (см. СТР. 6-7). А именно, оценка каждого профиля каждым респондентом должна занимать отдельную строчку файла данных, кроме того, каждой оценке должна быть сопоставлена характеристика профиля. Осуществим такое представление данных, преобразовав и слив файл данных и файл плана. * Загрузим файл данных опроса. GET FILE 'car_data.sav'. * Преобразование данных от "широкого" к "узкому" формату. Каждый ответ - на отдельной строчке, переменная prof будет содержать номер профиля, переменная rate - оценку профиля респондентом. VARSTOCASES /MAKE rate FROM prof1 prof2 prof3 prof4 /INDEX prof(4) /KEEP resp. * Присоединим к каждой оценке характеристики профиля. SORT CASES BY prof. MATCH FILES FILE * /TABLE 'car_plan.sav' /BY prof. SORT CASES BY resp prof. * Далее, для оценки частных полезностей в процедуре SPSS REGRESSION (множественная линейная регрессия) необходимо задать тем атрибутам, относительно которых предполагается дискретная функция полезности, соответствующую схему кодирования. Для атрибута "Марка" предполагается дискретная функция полезности, следовательно, зададим для него в новой переменной makex схему контрастного кодирования. Опционально можно ввести единичную константу const. IF make=1 makex=1. IF make=2 makex=-1. COMPUTE const=1. * Оценим модель для первого респондента (опция SELECT ограничивает массив данных строчками, которые относятся к первому респонденту). * NB! Поскольку в данных присутствует единичная константа, следует заменить опцию по умолчанию NOORIGIN на опцию ORIGIN. В этом случае коэффициент перед переменной const будет обозначать константу регрессионного уравнения. REGRESSION /SELECT resp EQ 1 /STATISTICS COEFF /ORIGIN /DEPENDENT rate /METHOD ENTER const makex price. * См. РИС. 2 и вектор b. * Чтобы оценённые коэффициенты стали "частными полезностями", требуется их преобразование по ФОРМУЛАМ 3 и 4 (здесь это не разбирается). * Оценим модель для всех респондентов вместе. REGRESSION /STATISTICS COEFF /ORIGIN /DEPENDENT rate /METHOD ENTER const makex price. * После преобразований коэффициентов по ФОРМУЛАМ 3 и 4 результат аналогичен ТАБЛ. 6. * Оценим модель для каждого респондента в отдельности, сохранив прогноз полезности (переоценку существующих профилей на основе оценённой модели), а также коэффициенты модели в отдельном файле. SORT CASES BY resp. SPLIT FILE BY resp. REGRESSION /STATISTICS COEFF /ORIGIN /DEPENDENT rate /METHOD ENTER const makex price /SAVE PRED /OUTFILE COVB('car_coeff.sav'). SPLIT FILE OFF. * После преобразований коэффициентов по ФОРМУЛАМ 3 и 4 результат аналогичен ТАБЛ. 6. * Прогнозные значения в переменной PRE_1 аналогичны индивидуальным значениям из ТАБЛ. 8. * Оценим важность атрибутов. * Откроем файл с коэффициентами модели (оценёнными частными полезностями). GET FILE='car_coeff.sav'. * Удалим лишние строки, оставим только оценки коэффициентов модели. SEL IF ROWTYPE_='EST'. * Вычислим важность каждого из атрибутов (как абсолютную разность полезностей их максимальных и минимальных значений). * NB! Если вы внесёте изменения в файл плана, следует соответственно отразить их и в формулах расчёта ниже. COMPUTE imp_make=Abs(makex*1-makex*(-1)). COMPUTE imp_price=Abs(price*35000 - price*32000). * Вычислим совместную важность и важность атрибутов в процентах от совместной. COMPUTE joint_imp=imp_make + imp_price. COMPUTE imp_make_p= (imp_make / joint_imp) * 100. COMPUTE imp_price_p= (imp_price / joint_imp) * 100. * Выведем показатели важности в таблицу. Последняя строка (Mean) содержит усреднённые проценты важности, которые характеризуют выборку в целом. SUMM resp imp_make imp_price joint_imp imp_make_p imp_price_p /FORMAT=VALIDLIST NOCASE TOTAL /TITLE 'План эксперимента' /CELLS=COUNT MEAN . * Результат аналогичен ТАБЛ. 7. * -----------------------------------------------------------------------------------------------. * 4б. Оценка частных полезностей в модуле SPSS Conjoint. * Примеч.: Модуль SPSS Conjoint приобретается отдельно от модуля Base. Список установленных на вашем компьютере модулей вы можете увидеть, запустив команду SHOW LIC:. SHOW LIC. * Если в списке модулей отсутствует запись "Conjoint", модуль не установлен и команда CONJOINT работать не будет. * -----------------------------------------------------------------------------------------------. * Загрузим файл с планом опроса. Для обработки файла командой CONJOINT номер профиля должен находиться в переменной CARD_. GET FILE 'car_plan.sav'. REN VARS (prof=CARD_). CONJOINT PLAN * /DATA 'car_data.sav' /SCORE prof1 To prof4 /FACTORS make (DISCRETE) price (LINEAR LESS) /SUBJECT resp /UTILITY 'car_util.sav' /PLOT SUMMARY. * Будучи запущенной с такими параметрами, команда CONJOINT выведет оценки частных полезностей и важности каждого атрибута по каждому респонденту в отдельности, а также по всей выборке в целом, а также сохранит оценки во внешний файл. * Результаты аналогичны ТАБЛ. 6 и 7. * Файл "car_util.sav" содержит по каждому респонденту оценки частной полезности каждого уровня атрибута "Марка" и вектор полезности атрибута "Цена". Кроме того, он содержит переоценки полезностей четырёх профилей плана опроса на основе модели полезности:. GET FILE 'car_util.sav'. * Результаты аналогичны ТАБЛ. 6 и 8.