কেন এল এম এবং বিগলএম একই ডেটার জন্য পৃথক পি-মান দেয়?


12

এখানে একটি ছোট উদাহরণ:

MyDf<-data.frame(x=c(1,2,3,4), y=c(1.2, .7, -.5, -3))

এখন এর সাথে base::lm:

> lm(y~x, data=MyDf) %>% summary

Call:
lm(formula = y ~ x, data = MyDf)

Residuals:
    1     2     3     4 
-0.47  0.41  0.59 -0.53 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)  
(Intercept)   3.0500     0.8738   3.491   0.0732 .
x            -1.3800     0.3191  -4.325   0.0495 *
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1

Residual standard error: 0.7134 on 2 degrees of freedom
Multiple R-squared:  0.9034,    Adjusted R-squared:  0.8551 
F-statistic: 18.71 on 1 and 2 DF,  p-value: 0.04952

এখন, প্যাকেজ biglmথেকে একই জিনিস চেষ্টা করুন biglm:

XX<-biglm(y~x, data=MyDf) 
print(summary(XX), digits=5)

Large data regression model: biglm(y ~ x, data = MyDf)
Sample size =  4 
             Coef     (95%      CI)      SE       p
(Intercept)  3.05  1.30243  4.79757 0.87378 0.00048
x           -1.38 -2.01812 -0.74188 0.31906 0.00002

নোট করুন যে আমাদের দরকার printএবং digitsপি-মানটি দেখতে। সহগ এবং মান ত্রুটিগুলি একই, তবে পি-মানগুলি খুব আলাদা। কেন এমন হয়?


5
+1 টি ইঙ্গিত: তুলনা pt(-3.491, 2)*2করার pnorm(-3.491)*2উদাহরণস্বরূপ,।
whuber

@ শুভ ধন্যবাদ সুতরাং মূলত এটি টি-বিতরণ বনাম সাধারণ বিতরণ সমস্যা। সাধারণ বিতরণটি কি বিগলমের বৈশিষ্ট্যযুক্ত বড় ডেটা সেটগুলির জন্য আরও বোধগম্য হয়?
জন পল

1
ν

উত্তর:


9

কোন পি-মানগুলি সঠিক কিনা তা দেখতে (যদি হয়) তবে আসুন সিমুলেটেড ডেটার জন্য গণনাটি পুনরাবৃত্তি করুন যেখানে নাল অনুমানটি সত্য। বর্তমান সেটিংয়ে গণনাটি সর্বনিম্ন-স্কোয়ার (x, y) ডেটার সাথে মানানসই এবং নাল অনুমানটি theালটি শূন্য। প্রশ্নে চারটি x মান রয়েছে 1,2,3,4 এবং আনুমানিক ত্রুটিটি 0.7 এর কাছাকাছি, সুতরাং আসুন এটি সিমুলেশনে অন্তর্ভুক্ত করুন।

এখানে সেটআপটি, প্রত্যেকের কাছে বোধগম্য হওয়ার জন্য রচিত, এমনকি যারা অপরিচিত তাদেরও লেখা R

beta <- c(intercept=0, slope=0)
sigma <- 0.7
x <- 1:4
y.expected <-  beta["intercept"] + beta["slope"] * x

সিমুলেশন স্বতন্ত্র ত্রুটি উত্পন্ন করে y.expected, এগুলিতে যুক্ত করে , lmফিট করার জন্য অনুরোধ করে এবং summaryপি-মানগুলি গণনা করে। যদিও এটি অকার্যকর, এটি ব্যবহার করা হয়েছিল এমন আসল কোডটি পরীক্ষা করে। আমরা এখনও এক সেকেন্ডে কয়েক হাজার পুনরাবৃত্তি করতে পারি:

n.sim <- 1e3
set.seed(17)
data.simulated <- matrix(rnorm(n.sim*length(y.expected), y.expected, sigma), ncol=n.sim)
slope.p.value <- function(e) coef(summary(lm(y.expected + e ~ x)))["x", "Pr(>|t|)"]
p.values <- apply(data.simulated, 2, slope.p.value)

01

h <- hist(p.values, breaks=seq(0, 1, length.out=20))

ব্যক্তিত্ব

এবং, যারা কল্পনা করতে পারেন এটি যথেষ্ট অভিন্ন নয়, এখানে চি-স্কোয়ার পরীক্ষা দেওয়া হয়েছে:

chisq.test(h$counts)

এক্স-স্কোয়ারড = 13.042, ডিএফ = 18, পি-মান = 0.7891

এই পরীক্ষার বৃহত পি-মানটি দেখায় যে এই ফলাফলগুলি প্রত্যাশিত অভিন্নতার সাথে সামঞ্জস্যপূর্ণ। অন্য কথায়, lmসঠিক।

তাহলে, পি-মানগুলির মধ্যে পার্থক্যগুলি কোথা থেকে এসেছে? আসুন সম্ভাব্য সূত্রগুলি পরীক্ষা করুন যা কোনও পি-মান গণনা করার জন্য আহ্বান করা হতে পারে। যে কোনও ক্ষেত্রে পরীক্ষার পরিসংখ্যান হবে

|টি|=|β^-0SE(β^)|,

β^β=0

|টি|=|3.050,87378|=3,491

ইন্টারসেপ্ট আনুমানিক জন্য এবং

|টি|=|-1.380,31906|=4,321

টি42

pt(-abs(3.05/0.87378), 4-2) * 2

[1] 0.0732

টি2এইচ0:β=0এইচএকজন:β0lm

টি

pnorm(-abs(3.05/0.87378)) * 2

[1] 0.000482

biglmটিbiglmlm

চিত্র ২

0.05


এই সামান্য তদন্ত থেকে আমরা কিছু পাঠ শিখতে পারি:

  1. ছোট ডেটাসেট সহ অ্যাসিম্পটোটিক বিশ্লেষণগুলি (স্ট্যান্ডার্ড নরমাল ডিস্ট্রিবিউশনের মতো) থেকে প্রাপ্ত অনুমানগুলি ব্যবহার করবেন না।

  2. আপনার সফ্টওয়্যারটি জানুন।


2
এন=4এন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.