R - Chi Kare Testi

Chi-Square testiki kategorik değişkenin aralarında önemli bir korelasyon olup olmadığını belirlemek için istatistiksel bir yöntemdir. Her iki değişken de aynı popülasyondan olmalı ve - Evet / Hayır, Erkek / Kadın, Kırmızı / Yeşil gibi kategorik olmalıdır.

Örneğin, insanların dondurma satın alma alışkanlıklarına ilişkin gözlemlerle bir veri kümesi oluşturabilir ve bir kişinin cinsiyeti ile tercih ettiği dondurmanın aromasını ilişkilendirmeye çalışabiliriz. Bir korelasyon bulunursa, ziyaret eden kişilerin cinsiyetini bilerek uygun tat stoğu planlayabiliriz.

Sözdizimi

Ki-Kare testi yapmak için kullanılan işlev chisq.test().

R'de ki-kare testi oluşturmak için temel sözdizimi -

chisq.test(data)

Aşağıda kullanılan parametrelerin açıklaması verilmiştir -

  • data gözlemdeki değişkenlerin sayım değerini içeren bir tablo şeklindeki verilerdir.

Misal

Cars93 verilerini 1993 yılında farklı otomobil modellerinin satışını temsil eden "MASS" kütüphanesine alacağız.

library("MASS")
print(str(Cars93))

Yukarıdaki kodu çalıştırdığımızda şu sonucu verir -

'data.frame':   93 obs. of  27 variables: 
 $ Manufacturer      : Factor w/ 32 levels "Acura","Audi",..: 1 1 2 2 3 4 4 4 4 5 ... 
 $ Model             : Factor w/ 93 levels "100","190E","240",..: 49 56 9 1 6 24 54 74 73 35 ... 
 $ Type              : Factor w/ 6 levels "Compact","Large",..: 4 3 1 3 3 3 2 2 3 2 ... 
 $ Min.Price         : num  12.9 29.2 25.9 30.8 23.7 14.2 19.9 22.6 26.3 33 ... 
 $ Price             : num  15.9 33.9 29.1 37.7 30 15.7 20.8 23.7 26.3 34.7 ... 
 $ Max.Price         : num  18.8 38.7 32.3 44.6 36.2 17.3 21.7 24.9 26.3 36.3 ... 
 $ MPG.city          : int  25 18 20 19 22 22 19 16 19 16 ... 
 $ MPG.highway       : int  31 25 26 26 30 31 28 25 27 25 ... 
 $ AirBags           : Factor w/ 3 levels "Driver & Passenger",..: 3 1 2 1 2 2 2 2 2 2 ... 
 $ DriveTrain        : Factor w/ 3 levels "4WD","Front",..: 2 2 2 2 3 2 2 3 2 2 ... 
 $ Cylinders         : Factor w/ 6 levels "3","4","5","6",..: 2 4 4 4 2 2 4 4 4 5 ... 
 $ EngineSize        : num  1.8 3.2 2.8 2.8 3.5 2.2 3.8 5.7 3.8 4.9 ... 
 $ Horsepower        : int  140 200 172 172 208 110 170 180 170 200 ... 
 $ RPM               : int  6300 5500 5500 5500 5700 5200 4800 4000 4800 4100 ... 
 $ Rev.per.mile      : int  2890 2335 2280 2535 2545 2565 1570 1320 1690 1510 ... 
 $ Man.trans.avail   : Factor w/ 2 levels "No","Yes": 2 2 2 2 2 1 1 1 1 1 ... 
 $ Fuel.tank.capacity: num  13.2 18 16.9 21.1 21.1 16.4 18 23 18.8 18 ... 
 $ Passengers        : int  5 5 5 6 4 6 6 6 5 6 ... 
 $ Length            : int  177 195 180 193 186 189 200 216 198 206 ... 
 $ Wheelbase         : int  102 115 102 106 109 105 111 116 108 114 ... 
 $ Width             : int  68 71 67 70 69 69 74 78 73 73 ... 
 $ Turn.circle       : int  37 38 37 37 39 41 42 45 41 43 ... 
 $ Rear.seat.room    : num  26.5 30 28 31 27 28 30.5 30.5 26.5 35 ... 
 $ Luggage.room      : int  11 15 14 17 13 16 17 21 14 18 ... 
 $ Weight            : int  2705 3560 3375 3405 3640 2880 3470 4105 3495 3620 ... 
 $ Origin            : Factor w/ 2 levels "USA","non-USA": 2 2 2 2 2 1 1 1 1 1 ... 
 $ Make              : Factor w/ 93 levels "Acura Integra",..: 1 2 4 3 5 6 7 9 8 10 ...

Yukarıdaki sonuç, veri kümesinin kategorik değişkenler olarak kabul edilebilecek birçok faktör değişkenine sahip olduğunu göstermektedir. Modelimiz için "AirBags" ve "Type" değişkenlerini dikkate alacağız. Burada satılan araba türleri ile sahip olduğu Hava yastığı türleri arasındaki önemli bir ilişkiyi bulmayı hedefliyoruz. Korelasyon gözlenirse, hangi tip arabaların hangi hava yastıkları ile daha iyi satılabileceğini tahmin edebiliriz.

# Load the library.
library("MASS")

# Create a data frame from the main data set.
car.data <- data.frame(Cars93$AirBags, Cars93$Type)

# Create a table with the needed variables.
car.data = table(Cars93$AirBags, Cars93$Type) 
print(car.data)

# Perform the Chi-Square test.
print(chisq.test(car.data))

Yukarıdaki kodu çalıştırdığımızda şu sonucu verir -

Compact Large Midsize Small Sporty Van
  Driver & Passenger       2     4       7     0      3   0
  Driver only              9     7      11     5      8   3
  None                     5     0       4    16      3   6

         Pearson's Chi-squared test

data:  car.data
X-squared = 33.001, df = 10, p-value = 0.0002723

Warning message:
In chisq.test(car.data) : Chi-squared approximation may be incorrect

Sonuç

Sonuç, bir dizi korelasyonunu gösteren 0,05'ten küçük p değerini gösterir.