McNemar Testi (SPSS) — Syntax Kullanarak

SPSS Syntax ile McNemar Testi

Bu sayfaya geldiyseniz muhtemelen McNemar Testi başlıklı diğer yazımı okuduktan sonra gelmişsinizdir, bu sayfayı bulmak için web araması yapmış olmanız çok düşük ihtimal. Bu yüzden bu sayfada McNemar Testi’nin ne olduğundan bahsetmekle zaman kaybetmeyip, direkt olarak SPSS Syntax kullanarak McNemar Testi nasıl yapılır onu anlatacağım. Diğer yazımda bahsettiğim, “çocukların 1 ve 3 yaşında yemek yiyip yememesi” örneğinden devam edeceğim bu sayfada da.

Bu sayfadaki McNemar Testi yapma yöntemi, diğer yönteme göre daha düşük bir p değeri vermektedir ve bu p değeri birçok istatistikçi tarafından diğer yöntemdekine göre daha isabetli bir p değeridir.

Fakat sosyal bilimcilerin bu sayfadaki yöntemi diğer yöntem yerine tercih etme sebebi p değerinin daha isabetli olması değil, daha düşük olmasıdır. 🤣

SPSS Eğitim

spss tez analizi istatistik ödev yaptırma ücretli spss veri analizi danışmanlık

Syntax Kullanarak SPSS’te McNemar Testi Yapmak

Ön Analiz

SPSS Syntax kullanmaya geçmeden önce, ilk yapmamız gereken şey, Analyze -> Descriptive Statistics -> Crosstabs butonlarına basıp Crosstabs penceresini açmaktır.

McNemar Testi 1

 

Sonra, önceki ölçümümüzü Rows kutusuna, sonraki ölçümümüzü Columns kutusuna atmalıyız.

McNemar Testi 2

 

Sonra, işaretli tutmamız gereken tek ayar, “Cells”e basıp “Observed” Count seçeneğidir. Bunu işaretledikten sonra Continue ve OK’a basabiliriz.

McNemar Testi syntax 1

 

SPSS’in bize vereceği Crosstabulation tablosunda, kırmızı kutu içine aldığım sayılar bize birazdan lazım olacak. Bunu unutmayın.

McNemar Testi syntax 2

 

Syntax

SPSS’te üst menüden File -> New -> Syntax butonlarına basarsanız yeni bir boş SPSS Syntax penceresi açılacaktır.

McNemar Testi syntax 3

McNemar Testi syntax 4

 

Bu pencerenin için, aşağıdaki SPSS Syntax kodunu kopyalayıp yapıştırmamız gerekiyor. Bu kod, Marta Garcia-Grenaro tarafından oluşturulan bir koddur ve herkesin ücretsiz kullanımına sunulmuştur.

Aşağıdaki kodu tamamen kopyalayın.


* MACRO definition (it also computes a 95%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 Results1 WINDOW=HIDDEN.
DATASET DECLARE Results2 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’,’Lower.CI’,’Upper.CI’}.
SAVE {100*T(perc),100*x10,100*x42,100*x43} /OUTFILE=Results1
/NAMES=vnames.
COMPUTE vnames={‘Chi2′,’Sig’}.
SAVE {chi2,chi2sig;chi2cor,chi2sigc} /OUTFILE=Results2 /NAMES=vnames.
END MATRIX.
RESTORE.
DATASET ACTIVATE Results1.
FORMAT P1 TO Upper.CI (PCT4.2).
VAR LABEL P1 ‘Percent A’/P2 ‘Percent B’/ Puntual ‘Difference’.
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 (As per Newcombe, 1998)’.
DATASET ACTIVATE Results2.
DATASET CLOSE Results1.
FORMAT chi2(F8.3) Sig (F8.4).
VAR LABEL chi2 ‘Chi-Square’/ 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 Results2.
ECHO ‘(*) Corrected for continuity; this correction is too conservative in most cases.’
!ENDDEFINE.
* An example of the macro call: suppose your crosstab table output (from
SPSS’ McNemar output)
   looks like this:
*      No   Yes
* No   14    2
* Yes   8    9
MYMCNEMAR 14 2 8 9.

Kodu, demin açmış olduğunuz boş Syntax penceresine olduğu gibi yapıştırın.

Şimdi, değiştirmemiz gereken tek bir şey kaldı: sayılar. Hatırlarsanız, deminki SPSS ön testimizde bir tablo elde etmiştik.

McNemar Testi syntax 2

Bu tabloda, kırmızı kutu içine aldığım sayıları, kopyalayıp yapıştırdığımız Syntax’in en alttaki 4 sayısının yerine sırayla yazmalıyız. Bunu yapınca bizim örneğimizdeki kodun son şekli şu şekilde görünmeli:

McNemar Testi syntax 5

 

Kendi sayılarımızı koyduktan sonra tek yapmamız gereken Run -> All butonlarına basmak.

McNemar Testi syntax 6

 

SPSS, bize, diğer sayfada anlattığım diğer yöntemdeki sonuç tablosundan çok daha ayrıntılı bilgiler içeren yeni bir McNemar testi sonuç tablosu sunacak.

Diğer tabloda, sadece Yates düzeltmesi yapılmış bir p değeri gösteriliyordu. Bu tabloda ise, hem düzeltilmiş, hem de düzeltme yapılmamış p değerleri ve ayrıca McNemar Test skorları da görünmektedir.

Bu tabloya göre, alt satırda Corrected bölümündeki Yates düzeltmesi yapılmış (kimilerine göre yanlış şekilde fazla büyük) olan p değeri 0.0231’dir. Uncorrected satırındaki p değeri ise 0.0162’dir. Uncorrected p değeri her zaman Corrected’dan daha düşük çıkar.

McNemar Testi syntax 7

Bu örnekte bulduğumuz iki p değeri de 0.05’ten küçük olduğu için bu örnek özelinde hangi p değerini kullandığımız çok fark etmemektedir, fakat bazı durumlarda Corrected p değeri 0.05’ten büyük, Uncorrected p değeri 0.05’ten küçük olabilir. Bu durumda hangisini kullanmalıyız?

Tablonun altında da yazdığı gibi, Corrected p değeri, çoğu durumda, yanlış şekilde gereğinden fazla büyük bir değer olabilmektedir. Bu yüzden Uncorrected p değerinin dikkate alınması daha doğru olabilir. Corrected p değeri seçilirse Tip II Hata yani “var olan bir farkın gözlenmemesi” durumu yaşanma ihtimali artar, Uncorrected p değeri seçilirse Tip I Hata yani “var olmayan bir farkın varmış gibi görünmesi” durumu yaşanma ihtimali artar. Benim tercihim yine de Uncorrected p değerini kullanmaktır çünkü bilim dünyasının günümüzde geldiği noktada Tip I hataların Tip II hatalardan çok daha yaygın ve tehlikeli olduğunu düşünüyorum. Yine de seçim size kalmış.

 

Son olarak, eğer merak eden varsa, SPSS bu yöntemde diğer yöntemin göstermediği aşağıdaki Summarize tablosunu da gösteriyor. Burada, çocukların 1 yaşındaki ölçümü ile 3 yaşındaki ölçümünün sonuçlarının farkının Confidence Interval’ı yani güven aralığı görünmektedir. Güven aralığı alt sınırı -25%, üst sınırı da -2% civarı. İkisinin arasında 0% değeri olmadığı için yani ikisi de negatif olduğu için (ikisi de pozitif olsa da aynı şeydi), buradan da “demek ki gerçekten çocukların 1 ve 3 yaşları arasında istatistiksel olarak anlamlı bir farklılık varmış” sinyalini alıyoruz.

McNemar Testi syntax 8

 

SPSS Syntax ile McNemar Testi yapma adımları bu kadardı. Bu sayfayı buraya kadar okuyan sınırlı sayıda kişiden biriyseniz tebrikler, istatistiksel analizlerinizde başarılar diliyorum.

 

spss tez analizi istatistik ödev yaptırma ücretli spss veri analizi danışmanlık

Deniz Şavkay hakkında 168 makale
Lisans eğitimimi Boğaziçi Üniversitesi Moleküler Biyoloji ve Genetik bölümünde, Yüksek Lisans eğitimimi Polonya'daki SWPS Üniversitesi Psikoloji bölümünde tamamladım. Davranış bilimlerine ilgi duyuyorum ve eğitim hayatımı bunun üzerine şekillendirdim. SPSS ile istatistik analizi yapmayı çok seviyorum. SPSS analizleriyle insan davranışındaki kalıpları keşfetmek ve insan davranışı hakkında iç görü sahibi olmak beni heyecanlandırıyor.

İlk yorum yapan olun

Bir yanıt bırakın

E-posta hesabınız yayımlanmayacak.


*