Soru:
Giriş olarak lm () kullanırken anova () 'dan çıktıyı yorumlama
derNincompoop
2014-09-13 01:55:38 UTC
view on stackexchange narkive permalink

Başka birinin R koduna bakarak doğrusal regresyon modelleri oluşturmayı öğreniyorum. İşte kullandığım örnek veriler:

  v1 v2 v3 response0.417655013 -0.012026453 -0.528416414 48.55555556-0.018445979 -0.460809371 0.054017873 47.76666667-0.246110341 0.054017873 47.76666667-0.246110341 0.09223015944.5333968 0,224215856 -0,153917427 48.977777780.41522316 0,050609412 -0,642394965 48.5-0.07349941 0,547128578 -0,539018121 53.95555556-0.313950353 0,207853678 0,713903994 48.166666670.404643796 -0,326782199 -0,785848428 47.70.028246796 -0,424323318 0,289313911 49.344444440.720822953 -0,166712488 0,323246062 50.78888889-0.430825851 -0,308119827 0,543823856 52.65555556-0.964175294 0,661700584 - 0.11905972 51.03333333-0.178955757 -0.11148414 -0.151179885 48.288888890.488388035 0.515903257 -0.087738159 48.68888889-0.097527627 0.188292773 0.207321888 -0.097527627 0.1885502773 0.20732279375 5560.104077762 0.16075114 -0.131124443 48.61111111  

Verileri okudum ve bir model oluşturmak için lm () çağrısı yapıyorum:

  > my_data<- read.table ("data.csv", header = T, sep = ",") > my_lm <- lm (yanıt ~ v1 + v2 + v3 + v1: v2 + v1: v3 + v2: v3, data = my_data) > özeti (my_lm) Çağrı: lm (formül = yanıt ~ v1 + v2 + v3 + v1: v2 + v1: v3 + v2: v3, data = my_data) Kalıntılar: Min 1Q Medyan 3Q Maks -2.0603 -0.6615 -0.1891 1.0395 1.8280 Katsayılar: Tahmin Std. Hata t değeri Pr (> | t |) (Kesişme) 49.33944 0.42089 117.226 < 2e-16 *** v1 0.06611 0.82320 0.080 0.93732 v2 -0.36725 1.06359 -0.345 0.73585 v3 0.72741 1.00973 0.720 0.48508 v1: v2.532.148
v1: v3 0.80641 2.77603 0.290 0.77640 v2: v3 -12.16017 3.62473 -3.355 0.00573 ** --- Signif. kodlar: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 '' 1 Kalan standart hata: 12 serbestlik derecesinde 1.375 Çoklu R-kare: 0.697, Düzeltilmiş R-kare: 0.5455 F-istatistiği: 6 ve 12 DF'de 4.6, p-değeri: 0.01191  

Kodlarının ardından anova () için bir çağrı kullanıyorum:

  > my_lm_anova <- anova (my_lm) > my_lm_anova Varyans Analizi Tablosu Yanıt: yanıt Df Sum Sq Ortalama Sq F değeri Pr (>F) v1 1 0,0010 0,0010 080 0,75 v1: v2 1 4.3653 4.3653 2.3084 0.154573 v1: v3 1 16.4582 16.4582 8.7034 0.012141 * v2: v3 1 21.2824 21.2824 11.2545 0.005729 ** Kalıntılar 12 22.6921 1.8910 --- Signif. kodlar: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 '' 1  

Yine de emin değilim:

  1. Bu durumda neden ANOVA çağrısını kullanmalıyım ve
  2. ANOVA tablosu bana tahmin değişkenleri hakkında ne söylüyor?

Koddan ANOVA tablosunu aşağıdaki gibi kullanıyor görünmektedir. Öngörücü değişkeni v1 için,

  • v1 için 'Sum Sq' girişini v1: v2 için 'Sum Sq' girişinin yarısı ve 'Sum Sq' girişinin yarısı ile birlikte ekleme v1: v3 için,
  • Tüm 'Sum Sq' sütununun toplamına bölünmesi ve
  • 100 ile çarpılması

yüzdeyi verir lm () modelinde tahmin değişkeni v1 ile açıklanan yanıt değişkeninin varyansı. Neden bunun neden olduğunu ve v1: v2 için 'Sum Sq' girişinin yarısının v1'e ve yarısının v2'ye atfedildiğini anlamıyorum. Bu sadece kolaylık mı?

Bir cevap:
gung - Reinstate Monica
2014-09-13 05:53:36 UTC
view on stackexchange narkive permalink

anova () işlev çağrısı bir ANOVA tablosu döndürür. İstediğiniz zaman bir ANOVA tablosu almak için kullanabilirsiniz. Bu nedenle, soru şu olur: 'Değişkenlerimin standart çıktıyla (yani summary.lm () komutu) yalnızca $ t $ -testlerini alabiliyorken neden bir ANOVA tablosu isteyebilirim?'

Öncelikle, özet çıktısından tamamen memnun olabilirsiniz ve bu sorun değil. Ancak ANOVA tablosu bazı avantajlar sunabilir. İlk olarak, ikiden fazla seviyeli bir kategorik / faktör değişkeniniz varsa, özet çıktının yorumlanması zordur. Size referans seviyeye göre bireysel seviyeler için testler verecektir, ancak size bir bütün olarak faktör testi vermeyecektir. Şunu düşünün:

  set.seed (8867) # bu, örneği tam olarak reprodibley = c (rnorm (10, ortalama = 0, sd = 1), rnorm (10, ortalama = -. 5) yapar. , sd = 1), rnorm (10, ortalama = .5, sd = 1)) g = rep (c ("A", "B", "C"), her biri = 10) model = lm (y ~ g ) özet (model) # ... # Kalıntılar: # Min 1Q Medyan 3Q Maks # -2.59080 -0.54685 0.04124 0.79890 2.56064 # # Katsayılar: # Tahmin Std. Hata t değeri Pr (> | t |) # (Intercept) -0.4440 0.3855 -1.152 0.260 # gB -0.9016 0.5452 -1.654 0.110 # gC 0.6729 0.5452 1.234 0.228 # # Kalan standart hata: 27 serbestlik derecesinde 1.219 # Çoklu R- kare: 0.2372, Düzeltilmiş R-kare: 0.1807 # F-istatistiği: 2 ve 27 DF'de 4.199, p-değeri: 0.02583anova (model) # Varyans Analizi Tablosu # # Yanıt: y # Df Topla Sq Ortalama Sq F değeri Pr (>F) # g 2 12.484 6.2418 4.199 0.02583 * # Kalıntılar 27 40.135 1.4865  

Bir ANOVA tablosuna bakmayı tercih etmenizin bir başka nedeni de, bağımsız değişkenleriniz ile bağımlı değişkeniniz arasındaki olası ilişkiler hakkındaki bilgileri, özet çıktıdaki $ t $ -testleri tarafından atılan bilgileri kullanmanıza izin vermesidir. Kendi örneğinizi düşünün, ikisinden $ p $ değerlerinin eşleşmediğini fark edebilirsiniz (örneğin, v1 için, özet çıktısındaki $ p $ -value 0.93732'dir. , ancak ANOVA tablosunda 0.982400 ). Bunun nedeni, değişkenlerinizin tamamen ilintisiz olmamasıdır:

  cor (my_data) # v1 v2 v3 response # v1 1.00000000 -0.23760679 -0.1312995 -0.00357923 # v2 -0.23760679 1.00000000 -0.2358402 0.06069167 # v3 - 0.13129952 -0.23584024 1.0000000 0.32818751 # response -0.00357923 0.06069167 0.3281875 1.00000000  

Bunun sonucu, birden fazla değişkene atfedilebilecek kareler toplamıdır. $ T $ testleri, karelerin toplamlarının 'tip III' testlerine eşdeğerdir, ancak başka testler de mümkündür. Varsayılan ANOVA tablosu, hipotezlerinizin daha kesin ve daha güçlü testlerini yapmanıza izin veren 'tip I' karelerin toplamlarını kullanır. (Bu konu oldukça ileri düzeydedir, ancak daha fazlası için cevabımı buradan okumak isteyebilirsiniz: Tip I (sıralı) ANOVA ve MANOVA nasıl yorumlanır?)

Farklı p değerlerinin nedeninin değişkenlerin tamamen ilintisiz olmaması olduğunu söylediniz.Bu p değerleri farklı testler için değil mi (F testi ve t testi), yani kişi farklı p değerleri alabilir mi?
@gamma, değişkenler ilintisiz ise, bir t-testinden ve bir F-testinden elde edilen p-değerleri aynı olacaktır ve $ F = t ^ 2 $ olacaktır.


Bu Soru-Cevap, otomatik olarak İngilizce dilinden çevrilmiştir.Orijinal içerik, dağıtıldığı cc by-sa 3.0 lisansı için teşekkür ettiğimiz stackexchange'ta mevcuttur.
Loading...