Цитата(DrgLena @ 21.06.2010 - 17:11)

Из характера ваших данных будет понятно, нужен ли вам критерий сопряженности Пирсона (не связанные выборки) или критерий М-Н для связанных.
В SPSS не выдается значение критерия М-Н (или я не знаю как), а только его статистическую оценку, но его легко посчитать руками.
NPAR TEST
/MCNEMAR=VAR00001 WITH VAR00002 (PAIRED)
/MISSING ANALYSIS.
Или в меню Two related Samples Tests поставьте метку Mc-Nemar
При этом в первой переменной должны быть значения признака до лечения у каждого больного (1, 0), а во второй у тех же больных после лечения (1, 0). Значения у 24 больных:
Но, что дальше, откуда по предложенному синтаксису получится М-Н.
Я чего то не поняла с SPSS?
Я не совсем понял про значение критерия, нужно именно значение хи2 М-Н? Просто Ваш код нормально отрабатывает, если использовать тот же CROSSTABS:
CROSSTABS
/TABLES= var5 BY var6
/STATISTICS=MCNEMAR.
Правда, в таблице ничего не стоит в разделе значение критерия, но, поскольку таблица сопряженности формируется, рассчитать его не составит труда, если нужно именно значение критерия, а не р. Кстати, в crosstabs можно заказать и точное значение, а не только асимптотическое( /METHOD=EXACT TIMER(5) ) - тут с ограничением времени расчета в 5 минут.
Вроде бы это происходит потому, что при небольшом числе случаев (пар) SPSS автоматически переключается на точное определение критерия, а не использует хи2 аппроксимацию, соответственно при большем числе пар (более 25?) начнется расчет критерия. Правда, попытка заставить SPSS рассчитать критерий увеличением числа дискордантных пар закончилась ничем - не считает

.
На всякий случай прикрепляю найденное макро для расчета критерия М-Н в том случае, если количество пар более 10:
* MACRO definition (it also computes a 96%CI -Newcombe's method- for the
difference in percentages, nice extra!) *.
DEFINE MYMCNEMAR(!POSITIONAL !TOKENS(1) /!POSITIONAL
!TOKENS(1)/!POSITIONAL !TOKENS(1)/!POSITIONAL !TOKENS(1)).
DATASET NAME Datos.
DATASET DECLARE Resultados1 WINDOW=HIDDEN.
DATASET DECLARE Resultados2 WINDOW=HIDDEN.
PRESERVE.
SET ERRORS=NONE RESULTS=NONE.
MATRIX.
COMPUTE nanb=!1 .
COMPUTE napb=!2 .
COMPUTE panb=!3 .
COMPUTE papb=!4 .
COMPUTE a=nanb.
COMPUTE b=napb.
COMPUTE c=panb.
COMPUTE d=papb.
COMPUTE perc={(c+d)/(a+b+c+d);(b+d)/(a+b+c+d)}.
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).
COMPUTE z = 1.959964.
COMPUTE zsq = 1.959964*1.959964.
COMPUTE x5=papb+panb.
COMPUTE x6=napb+nanb.
COMPUTE x7=papb+napb.
COMPUTE x8=panb+nanb.
COMPUTE x9=x7+x8.
COMPUTE x10=(panb-napb)/x9.
COMPUTE x11=2*x5+zsq.
COMPUTE x12=z&*(zsq+4*x5&*x6/x9)&**0.5.
COMPUTE x13=2*(x9+zsq).
COMPUTE x14=(x11+x12)/x13.
COMPUTE x15=(x11-x12)/x13.
COMPUTE x16=x5/x9-x15.
COMPUTE x17=x14-x5/x9.
COMPUTE x21=2*x7+zsq.
COMPUTE x22=z&*(zsq+4*x7&*x8/x9)&**0.5.
COMPUTE x24=(x21+x22)/x13.
COMPUTE x25=(x21-x22)/x13.
COMPUTE x26=x7/x9-x25.
COMPUTE x27=x24-x7/x9.
COMPUTE x29=x5&*x6&*x7&*x8.
COMPUTE x30=1.
DO IF x29 EQ 0.
- COMPUTE x30=0.
END IF.
COMPUTE x31=papb&*nanb-panb&*napb.
COMPUTE x32=0.
DO IF (x31 GT 0).
- COMPUTE x32=1.
END IF.
COMPUTE x33=x31-x9/2.
COMPUTE x35=0.
DO IF (x33 GT 0).
- COMPUTE x35=x33.
END IF.
COMPUTE x36=x32&*x35+(1-x32)&*x31.
COMPUTE x37=x30&*x36.
COMPUTE x38=x30&*x29&**0.5+(1-x30).
COMPUTE x39=x37/x38. /* phi hat.
COMPUTE x40=x16&*x16-2*x39&*x16&*x27+x27&*x27.
COMPUTE x41=x17&*x17-2*x39&*x17&*x26+x26&*x26.
COMPUTE x42=x10-SQRT(x40).
COMPUTE x43=x10+SQRT(x41).
COMPUTE vnames={'P1','P2','Puntual','Inferior','Superior'}.
SAVE {100*T(perc),100*x10,100*x42,100*x43} /OUTFILE=Resultados1
/NAMES=vnames.
COMPUTE vnames={'Chi2','Sig'}.
SAVE {chi2,chi2sig;chi2cor,chi2sigc} /OUTFILE=Resultados2 /NAMES=vnames.
END MATRIX.
RESTORE.
DATASET ACTIVATE Resultados1.
FORMAT P1 TO Superior (PCT4.2).
VAR LABEL P1 'Porc. A'/P2 'Porc. B'/ Puntual 'Diferencia'.
OMS /SELECT TABLES
/IF COMMANDS='Summarize' SUBTYPES='Case Processing Summary'
/DESTINATION VIEWER=NO.
SUMMARIZE
/TABLES=ALL
/FORMAT=LIST NOCASENUM NOTOTAL
/TITLE='95%CI for difference in proportions (paired) (*)'
/CELLS=NONE.
OMSEND.
ECHO '(*) Exact (Newcombe method)'.
DATASET ACTIVATE Resultados2.
DATASET CLOSE Resultados1.
FORMAT chi2(F8.3) Sig (F8.4).
VAR LABEL chi2 'Chi?'/ Sig 'Sig.'.
STRING Test (A12).
IF ($casenum EQ 1) Test = 'Uncorrected' .
IF ($casenum EQ 2) Test = 'Corrected' .
OMS /SELECT TABLES
/IF COMMANDS='Summarize' SUBTYPES='Case Processing Summary'
/DESTINATION VIEWER=NO.
SUMMARIZE
/TABLES=Test chi2 Sig
/FORMAT=LIST NOCASENUM NOTOTAL
/TITLE='McNemar Chi-square statistics(*)'
/CELLS=NONE.
OMSEND.
DATASET ACTIVATE Datos.
DATASET CLOSE Resultados2.
ECHO '(*) Asymptotic'.
!ENDDEFINE.
вызов макро
MYMCNEMAR 10 12 4 20.
обсуждение тут :
http://old.nabble.com/No-chi-square-value-...td15462088.html