ভেরিয়েবলের মধ্যে মিথস্ক্রিয়া বিবেচনা করার ক্ষেত্রে কেন লিনিয়ার রিগ্রেশন এবং আনোভা বিভিন্ন মূল্য দেয়?


22

আমি রিগ্রেশন মডেল ব্যবহার করে এক সময়ের-সিরিজ ডেটা (প্রতিলিপিবিহীন) ফিট করার চেষ্টা করছিলাম। ডেটা নীচের মত দেখাচ্ছে:

> xx.2
          value time treat
    1  8.788269    1     0
    2  7.964719    6     0
    3  8.204051   12     0
    4  9.041368   24     0
    5  8.181555   48     0
    6  8.041419   96     0
    7  7.992336  144     0
    8  7.948658    1     1
    9  8.090211    6     1
    10 8.031459   12     1
    11 8.118308   24     1
    12 7.699051   48     1
    13 7.537120   96     1
    14 7.268570  144     1

প্রতিলিপি অভাবের কারণে, আমি সময়কে অবিচ্ছিন্ন পরিবর্তনশীল হিসাবে বিবেচনা করি। কলাম "ট্রিট" যথাক্রমে কেস এবং নিয়ন্ত্রণের ডেটা দেখায়।

প্রথমত, আমি "lm" এর সাথে "মান = সময় * ট্রিট" মডেলটি ফিট করি R:

summary(lm(value~time*treat,data=xx.2))

Call:
lm(formula = value ~ time * treat, data = xx.2)

Residuals:
     Min       1Q   Median       3Q      Max 
-0.50627 -0.12345  0.00296  0.04124  0.63785 

Coefficients:
             Estimate Std. Error t value Pr(>|t|)    
(Intercept)  8.493476   0.156345  54.325 1.08e-13 ***
time        -0.003748   0.002277  -1.646   0.1307    
treat       -0.411271   0.221106  -1.860   0.0925 .  
time:treat  -0.001938   0.003220  -0.602   0.5606    

সময় এবং চিকিত্সার গুরুত্ব

আনোয়ার সাথে থাকাকালীন আমি বিভিন্ন ফলাফল পেয়েছি:

 summary(aov(value~time*treat,data=xx.2))
            Df Sum Sq Mean Sq F value Pr(>F)  
time         1 0.7726  0.7726   8.586 0.0150 *
treat        1 0.8852  0.8852   9.837 0.0106 *
time:treat   1 0.0326  0.0326   0.362 0.5606  
Residuals   10 0.8998  0.0900                 

সময় এবং চিকিত্সার জন্য মূল্যবান পরিবর্তন করা হয়েছে।

লিনিয়ার রিগ্রেশন সহ, যদি আমি সঠিক থাকি তবে এর অর্থ সময় ও আচরণের কোনও মূল্যমানের তেমন কোনও প্রভাব থাকে না, তবে এএনওওএর সাথে এর অর্থ সময় এবং চিকিত্সার মানের উপর উল্লেখযোগ্য প্রভাব রয়েছে।

কেউ আমাকে ব্যাখ্যা করতে পারেন কেন এই দুটি পদ্ধতির মধ্যে পার্থক্য রয়েছে এবং কোনটি ব্যবহার করবেন?


3
আপনি বিভিন্ন ধরণের স্কোয়ারের সন্ধান করতে পারেন। বিশেষত, আমি বিশ্বাস করি লিনিয়ার রিগ্রেশন তৃতীয় বর্গের যোগফল প্রেরণ করে, যখন আনোভা ভিন্ন ধরণের প্রত্যাবর্তন করে।
২২'১২

3
যদি আপনি ফলাফলগুলি সংরক্ষণ করেন lmএবং aovআপনি পরীক্ষা করতে পারেন যে তারা অভিন্ন ফিট তৈরি করে; উদাহরণস্বরূপ, তাদের অবশিষ্টাংশগুলি residualsফাংশনের সাথে তুলনা করুন বা তাদের সহগ ( $coefficientsউভয় ক্ষেত্রে স্লট) পরীক্ষা করুন।
হোয়বার

উত্তর:


18

Lm () এবং aov () এর জন্য ফিটগুলি অভিন্ন তবে প্রতিবেদনটি আলাদা। টি পরীক্ষাগুলি অন্যান্য ভেরিয়েবলের উপস্থিতিতে প্রদত্ত প্রশ্নে ভেরিয়েবলের প্রান্তিক প্রভাব। এফ পরীক্ষাগুলি ক্রমিক হয় - সুতরাং তারা বাধা ছাড়া আর কিছুই উপস্থিতি, বাধা এবং সময় ব্যতীত আর কিছুই নয় এবং উপরোক্ত সকলের উপস্থিতিতে মিথস্ক্রিয়াকে বিবেচনার জন্য পরীক্ষা করে থাকে।

আপনি চিকিত্সার তাত্পর্যটিতে আগ্রহী বলে ধরে নিলাম, আমি আপনাকে দুটি মডেল ফিট করতে পরামর্শ দিই, একটি সঙ্গে এবং একটি ছাড়াই, দুটি মডেলকে আনোভা () এ রেখে দুটি তুলনা করুন এবং সেইফ পরীক্ষাটি ব্যবহার করুন। এটি একই সাথে ট্রিট এবং ইন্টারঅ্যাকশন পরীক্ষা করবে।

নিম্নোক্ত বিবেচনা কর:

> xx.2 <- as.data.frame(matrix(c(8.788269, 1, 0,
+ 7.964719, 6, 0,
+ 8.204051, 12, 0,
+ 9.041368, 24, 0,
+ 8.181555, 48, 0,
+ 8.041419, 96, 0,
+ 7.992336, 144, 0,
+ 7.948658, 1, 1,
+ 8.090211, 6, 1,
+ 8.031459, 12, 1,
+ 8.118308, 24, 1,
+ 7.699051, 48, 1,
+ 7.537120, 96, 1,
+ 7.268570, 144, 1), byrow=T, ncol=3))
> names(xx.2) <- c("value", "time", "treat")
> 
> mod1 <- lm(value~time*treat, data=xx.2)
> anova(mod1)
Analysis of Variance Table

Response: value
           Df  Sum Sq Mean Sq F value  Pr(>F)  
time        1 0.77259 0.77259  8.5858 0.01504 *
treat       1 0.88520 0.88520  9.8372 0.01057 *
time:treat  1 0.03260 0.03260  0.3623 0.56064  
Residuals  10 0.89985 0.08998                  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1 
> mod2 <- aov(value~time*treat, data=xx.2)
> anova(mod2)
Analysis of Variance Table

Response: value
           Df  Sum Sq Mean Sq F value  Pr(>F)  
time        1 0.77259 0.77259  8.5858 0.01504 *
treat       1 0.88520 0.88520  9.8372 0.01057 *
time:treat  1 0.03260 0.03260  0.3623 0.56064  
Residuals  10 0.89985 0.08998                  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1 
> summary(mod2)
            Df Sum Sq Mean Sq F value Pr(>F)  
time         1 0.7726  0.7726   8.586 0.0150 *
treat        1 0.8852  0.8852   9.837 0.0106 *
time:treat   1 0.0326  0.0326   0.362 0.5606  
Residuals   10 0.8998  0.0900                 
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1 
> summary(mod1)

Call:
lm(formula = value ~ time * treat, data = xx.2)

Residuals:
     Min       1Q   Median       3Q      Max 
-0.50627 -0.12345  0.00296  0.04124  0.63785 

Coefficients:
             Estimate Std. Error t value Pr(>|t|)    
(Intercept)  8.493476   0.156345  54.325 1.08e-13 ***
time        -0.003748   0.002277  -1.646   0.1307    
treat       -0.411271   0.221106  -1.860   0.0925 .  
time:treat  -0.001938   0.003220  -0.602   0.5606    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1 

Residual standard error: 0.3 on 10 degrees of freedom
Multiple R-squared: 0.6526,     Adjusted R-squared: 0.5484 
F-statistic: 6.262 on 3 and 10 DF,  p-value: 0.01154 

পুঙ্খানুপুঙ্খ ব্যাখ্যার জন্য ধন্যবাদ, এটি আমাকে আনকোভা (গোপনীয়তার বিশ্লেষণ) এর কথা মনে করিয়ে দেয়। এএনসিওএর প্রথম পদক্ষেপটি শ্রেণিবদ্ধ ফ্যাক্টর এবং কোভেরিয়টের মধ্যে পারস্পরিক মিথস্ক্রিয়া পরীক্ষা করে দেখতে হয় যে তাদের উভয় শর্তের জন্য অভিন্ন opeাল রয়েছে কিনা তা দেখতে। এটি এখানে যা করেছি তার সাথে বেশ মিল। এএনসিওএতে এটি টি-টেস্ট এবং এফ-টেস্টের মিথস্ক্রিয়াটির জন্য একই প্রবণতা দেয় যেহেতু মিথস্ক্রিয়াটি শেষ শব্দটি aov
শাও

17

পিটার এলিসের উত্তরটি দুর্দান্ত, তবে আরও একটি বিষয় তৈরি করতে হবে। -test পরিসংখ্যাত (ও তার -value) কিনা একটি পরীক্ষা । উপর -test আউটে কিনা যোগ পরিবর্তনশীল উল্লেখযোগ্যভাবে বর্গের অবশিষ্ট সমষ্টি হ্রাস হয়।p β = 0 এফtpβ=0Fanova()

-test অর্ডার স্বাধীন, যখন -test নয়। অতএব, পিটারের পরামর্শ যে আপনি বিভিন্ন ক্রমে ভেরিয়েবলগুলি চেষ্টা করুন। এটিও সম্ভব যে একটি পরীক্ষায় উল্লেখযোগ্য ভেরিয়েবলগুলি অন্য (এবং তদ্বিপরীত) ক্ষেত্রে তাত্পর্যপূর্ণ নাও হতে পারে।এফtF

আমার জ্ঞান (এবং অন্যান্য অবদানকারীরা আমাকে সংশোধন করার জন্য স্বাগত জানায়) হ'ল আপনি যখন ঘটনাগুলির পূর্বাভাস দেওয়ার চেষ্টা করছেন (সিস্টেম অ্যাপ্লিকেশন হিসাবে), আপনি খুব কম ভবিষ্যদ্বাণীকারীদের সাথে বৈকল্পিকতা হ্রাস করতে সর্বাধিক আগ্রহী হন এবং তাই anova()ফলাফল চান । আপনি যদি এর প্রান্তিক প্রভাবটি উপর প্রতিষ্ঠিত করার চেষ্টা করছেন , তবে আপনি আপনার বিশেষ interest আগ্রহের তাত্পর্য নিয়ে সবচেয়ে বেশি উদ্বিগ্ন হবেন এবং অন্য সমস্ত পরিবর্তনকগুলি কেবলমাত্র বিকল্প সমীকরণের জন্য নিয়ন্ত্রণ করবেন যা আপনার পিয়ার রিভিউররা সন্ধানের চেষ্টা করবেন।y βXyβ


2

উপরের দুটি উত্তর দুর্দান্ত, তবে ভেবেছিলাম আমি আরও কিছু যোগ করব। আরও একটি ন্যুগেট তথ্য এখান থেকে সংগ্রহ করা যেতে পারে ।

আপনি যখন lm()ইন্টারঅ্যাকশন শব্দটির সাথে ফলাফলগুলি প্রতিবেদন করবেন , আপনি এমন কিছু বলছেন: " সময় 1 এর মান মান নির্ধারিত হলে ট্রিট 0 টি ট্রিট 0 (বিটা! = 0, পি = 0.0925) এর চেয়ে আলাদা হয় "। যেখানে anova()ফলাফল ( পূর্বে উল্লিখিত হিসাবে ) অন্য কোন ভেরিয়েবল এবং নিজেই শুধুমাত্র ভ্যারিয়েন্স পার্থক্য সঙ্গে উদ্বেগ উপেক্ষা করি।

আপনি আপনার ইন্টারঅ্যাকশন শব্দটি মুছে ফেলে এবং কেবল দুটি প্রধান প্রভাব ( এম 1 ) সহ একটি সাধারণ মডেল ব্যবহার করে এটি প্রমাণ করতে পারেন :

> m1 = lm(value~time+treat,data=dat)
> summary(m1)

Call:
lm(formula = value ~ time + treat, data = dat)

Residuals:
     Min       1Q   Median       3Q      Max 
-0.54627 -0.10533 -0.04574  0.11975  0.61528 

Coefficients:
             Estimate Std. Error t value Pr(>|t|)    
(Intercept)  8.539293   0.132545  64.426 1.56e-15 ***
time        -0.004717   0.001562  -3.019  0.01168 *  
treat       -0.502906   0.155626  -3.232  0.00799 ** 
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 0.2911 on 11 degrees of freedom
Multiple R-squared:   0.64, Adjusted R-squared:  0.5746 
F-statistic: 9.778 on 2 and 11 DF,  p-value: 0.003627

> anova(m1)
Analysis of Variance Table

Response: value
          Df  Sum Sq Mean Sq F value   Pr(>F)   
time       1 0.77259 0.77259  9.1142 0.011677 * 
treat      1 0.88520 0.88520 10.4426 0.007994 **
Residuals 11 0.93245 0.08477                    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

এই ক্ষেত্রে আমরা দেখতে পাই যে রিপোর্ট করা পি-মানগুলি একই; এই কারণটি এই সাধারণ মডেলের ক্ষেত্রে,


দুর্ভাগ্যক্রমে এই উত্তরটি অসম্পূর্ণ দেখাচ্ছে। লিংকের জন্য এখনও +1 এবং উল্লেখ করার জন্য যে প্রভাবটি বিভিন্ন কোডিং স্কিমগুলির কারণে।
অ্যামিবা বলছেন মনিকাকে

2
তোলা যায় যে যোগ করা উচিত summary(lm)এবং anova(lm)সবসময় অভিন্ন ফলাফলের দেবে না যদি সেখানে কোন মিথষ্ক্রিয়া পরিভাষা। এটি ঠিক তাই ঘটে যে এই ডেটাগুলিতে timeএবং treatঅরথোগোনাল এবং তাই টাইপ করুন I (অনুক্রমিক) এবং তৃতীয় (প্রান্তিক) পরিমাণগুলির স্কোয়ারগুলি অভিন্ন ফলাফল দেয়।
অ্যামিবা বলেছেন মোনিকা

2
  • পার্থক্যটি ক্যাসকেডিং মডেলগুলির টাইয়ারওয়াইজ তুলনাগুলির সাথে সম্পর্কিত।
  • এছাড়াও, অ্যাওভ () ফাংশনটিতে কীভাবে এটি স্বাধীনতার ডিগ্রি চয়ন করে তা নিয়ে একটি সমস্যা রয়েছে। এটি দুটি ধারণাকে মিশ্রিত বলে মনে হচ্ছে: 1) ধাপের দিকের তুলনা থেকে স্কোয়ারের যোগফল, 2) সামগ্রিক চিত্র থেকে মুক্তির ডিগ্রি।

সমস্যা প্রবর্তন

> data <- list(value = c (8.788269,7.964719,8.204051,9.041368,8.181555,8.0414149,7.992336,7.948658,8.090211,8.031459,8.118308,7.699051,7.537120,7.268570), time = c(1,6,12,24,48,96,144,1,6,12,24,48,96,144), treat = c(0,0,0,0,0,0,0,1,1,1,1,1,1,1) )
> summary( lm(value ~ treat*time, data=data) )
> summary( aov(value ~ 1 + treat + time + I(treat*time),data=data) )

কিছু মডেলগুলি ব্যাখ্যায় ব্যবহৃত হয়েছে

#all linear models used in the explanation below
> model_0                      <- lm(value ~ 1, data)
> model_time                   <- lm(value ~ 1 + time, data)
> model_treat                  <- lm(value ~ 1 + treat, data)
> model_interaction            <- lm(value ~ 1 + I(treat*time), data)
> model_treat_time             <- lm(value ~ 1 + treat + time, data)
> model_treat_interaction      <- lm(value ~ 1 + treat + I(treat*time), data)
> model_time_interaction       <- lm(value ~ 1 + time + I(treat*time), data)
> model_treat_time_interaction <- lm(value ~ 1 + time + treat + I(treat*time), data)

কিভাবে এলএম টেস্টেস্ট কাজ এবং এফ-টেস্টের সাথে সম্পর্কিত

# the t-test with the estimator and it's variance, mean square error, is
# related to the F test of pairwise comparison of models by dropping 1
# model parameter

> anova(model_treat_time_interaction, model_time_interaction)

Analysis of Variance Table

Model 1: value ~ 1 + time + treat + I(treat * time)
Model 2: value ~ 1 + time + I(treat * time)
  Res.Df     RSS Df Sum of Sq      F  Pr(>F)  
1     10 0.89985                              
2     11 1.21118 -1  -0.31133 3.4598 0.09251 .
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1

> anova(model_treat_time_interaction, model_treat_interaction)

Analysis of Variance Table

Model 1: value ~ 1 + time + treat + I(treat * time)
Model 2: value ~ 1 + treat + I(treat * time)
  Res.Df     RSS Df Sum of Sq      F Pr(>F)
1     10 0.89985                           
2     11 1.14374 -1   -0.2439 2.7104 0.1307

> anova(model_treat_time_interaction, model_treat_time)

Analysis of Variance Table

Model 1: value ~ 1 + time + treat + I(treat * time)
Model 2: value ~ 1 + treat + time
  Res.Df     RSS Df Sum of Sq      F Pr(>F)
1     10 0.89985                           
2     11 0.93245 -1 -0.032599 0.3623 0.5606

> # which is the same as
> drop1(model_treat_time_interaction, scope  = ~time+treat+I(treat*time), test="F")

Single term deletions

Model:
value ~ 1 + time + treat + I(treat * time)
                Df Sum of Sq     RSS     AIC F value  Pr(>F)  
<none>                       0.89985 -30.424                  
time             1  0.243896 1.14374 -29.067  2.7104 0.13072  
treat            1  0.311333 1.21118 -28.264  3.4598 0.09251 .
I(treat * time)  1  0.032599 0.93245 -31.926  0.3623 0.56064  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1

এফ-টেস্টগুলিতে কীভাবে ডিএফ কাজ করবে এবং বেছে নেবে?

> #the aov function makes stepwise additions/drops
> 
> #first the time, then treat, then the interaction
> anova(model_0, model_time)

Analysis of Variance Table

Model 1: value ~ 1
Model 2: value ~ 1 + time
  Res.Df    RSS Df Sum of Sq      F  Pr(>F)  
1     13 2.5902                              
2     12 1.8176  1    0.7726 5.1006 0.04333 *
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1

> anova(model_time, model_treat_time)

Analysis of Variance Table

Model 1: value ~ 1 + time
Model 2: value ~ 1 + treat + time
  Res.Df     RSS Df Sum of Sq      F   Pr(>F)   
1     12 1.81764                                
2     11 0.93245  1    0.8852 10.443 0.007994 **
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1

> anova(model_treat_time, model_treat_time_interaction)

Analysis of Variance Table

Model 1: value ~ 1 + treat + time
Model 2: value ~ 1 + time + treat + I(treat * time)
  Res.Df     RSS Df Sum of Sq      F Pr(>F)
1     11 0.93245                           
2     10 0.89985  1  0.032599 0.3623 0.5606

> 
> # note that the sum of squares for within model variation is the same
> # but the F values and p-values are not the same because the aov 
> # function somehow chooses to use the degrees of freedom in the 
> # complete model in all stepwise changes
>

গুরুত্বপূর্ণ তথ্য

> # Although the p and F values do not exactly match, it is this effect
> # of order and selection of cascading or not in model comparisons. 
> # An important note to make is that the comparisons are made by 
> # stepwise additions and changing the order of variables has an 
> # influence on the outcome!
>
> # Additional note changing the order of 'treat' and 'time' has no 
> # effect because they are not correlated

> summary( aov(value ~ 1 + treat + time +I(treat*time), data=data) )

        Df Sum Sq Mean Sq F value Pr(>F)  
treat            1 0.8852  0.8852   9.837 0.0106 *
time             1 0.7726  0.7726   8.586 0.0150 *
I(treat * time)  1 0.0326  0.0326   0.362 0.5606  
Residuals       10 0.8998  0.0900                 
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1

> summary( aov(value ~ 1 + I(treat*time) + treat + time, data=data) )

                Df Sum Sq Mean Sq F value  Pr(>F)   
I(treat * time)  1 1.3144  1.3144  14.606 0.00336 **
treat            1 0.1321  0.1321   1.469 0.25343   
time             1 0.2439  0.2439   2.710 0.13072   
Residuals       10 0.8998  0.0900                   
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1

> # This is an often forgotten quirck 
> # best is to use manual comparisons such that you know
> # and understand your hypotheses
> # (which is often forgotten in the click and
> #     point anova modelling tools)
> #
> # anova(model1, model2) 
> #     or use 
> # stepAIC from the MASS library
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.