(Вопрос) Я хочу проверить, существует ли значимое снижение числа курящих
с течением времени (за некоторый промежуток времени). Я использую проверку
Мак-Немара хи-квадрат со следующим синтаксисом:
NPAR TEST
/MCNEMAR=smoke1 WITH smoke2 (PAIRED)
/STATISTICS DESCRIPTIVES
/MISSING ANALYSIS.
Но процедура не возвращает мне значения статистики хи-квадрат, я получаю только вероятность
(exact sig. 2-tailed). Кто-нибудь может сказать, как вывести значение статистики Мак-Немара хи-квадрат?
(Ответ) Размещён в SPSSX-L, автор: Marta Garcia-Granero, 4.1.2005.
Если размер выборки мал (менее, чем 25 пар рассогласования*), NPAR TEST
/MCNEMAR всегда будет давать точное значение вероятности (p-value). Если число
пар рассогласования превышает 9, тогда вместо этого критерия может быть
использован критерий хи-квадрат (с поправкой или без поправки).
Кстати, проверка Мак-Немара может быть запрошена и в меню SPSS CROSSTABS
(она даёт точные значения вероятности на довольно больших выборках).
(*) Пары рассогласования: smoke1=0/smoke2=1 и smoke1=1/smoke2=0.
Примечание: код предполагает присутствие в данных всех 4 пар.
Вот решение:
* Пример данных (замените их на свои) *.
DATA LIST FREE/ smoke1 smoke2 (2 F8.0).
BEGIN DATA
1 0 0 0 0 0 1 0 1 1 1 1 1 1 1 0 0 0 1 1
1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 0 1 0 1 0
0 1 0 0 1 1 1 0 0 0 1 1 0 0 0 0 1 1 1 1
1 1 0 1 1 0 0 0 0 0 1 1 1 1 1 1 0 0 1 1
0 0 1 0 1 0 1 0 1 1 1 1 1 1 0 0 1 1 1 0
END DATA.
VALUE LABELS smoke1 smoke2 0 'Нет' 1 'Да'.
* Точная проверка Мак-Немара в SPSS (с использованием CROSSTABS) *.
CROSSTABS
/TABLES=smoke1 BY smoke2
/STATISTIC=MCNEMAR.
* Проверка Мак-Немара хи-квадрат (с использованием матричного языка SPSS) *.
TEMPORARY.
SELECT IF (NOT MISSING(smoke1) AND NOT MISSING(smoke2)).
AGGREGATE
/OUTFILE='c:\\temp\\aggr.sav'
/BREAK=smoke1 smoke2
/N=N.
MATRIX.
PRINT/TITLE="ПРОВЕРКА МАК-НЕМАРА ХИ-КВАДРАТ (С ПОПРАВКОЙ И БЕЗ ПОПРАВКИ)".
GET obs /VAR=n /FILE='c:\\temp\\aggr.sav' /MISSING=0.
COMPUTE a=obs(1).
COMPUTE b=obs(2).
COMPUTE c=obs(3).
COMPUTE d=obs(4).
RELEASE obs.
PRINT {a,b,a+b;c,d,c+d;a+c,b+d,a+b+c+d}
/FORMAT='F8.0'
/RLABEL='A-','A+','Итого'
/CLABEL='B-','B+','Итого'
/TITLE='ВХОДНЫЕ ДАННЫЕ'.
* Значения хи-квадрат исправленные и не исправленные *.
COMPUTE chi2=((b-c)&**2)&/(b+c).
COMPUTE chi2sig=1-CHICDF(chi2,1).
COMPUTE chi2cor=(ABS(b-c)-1)&**2&/(b+c).
COMPUTE chi2sigc=1-CHICDF(chi2cor,1).
PRINT {chi2,chi2sig;chi2cor,chi2sigc}
/FORMAT='F8.4'
/CLABELS='Хи-кв.','Знач.'
/RLABELS='Не испр.','Испр.'
/TITLE="Проверка хи-квадрат (df=1) и асимптотическая значимость".
END MATRIX.