2017-01-06 22 views
5

में टी-आंकड़े के पी-वैल्यू को मैन्युअल रूप से गणना कैसे करें मैंने 178 डिग्री स्वतंत्रता के साथ दो पूंछ वाले टी-टेस्ट के लिए रैखिक प्रतिगमन किया। summary फ़ंक्शन मुझे मेरे दो टी-मानों के लिए दो पी-मान देता है।रैखिक प्रतिगमन

t value Pr(>|t|) 
5.06 1.04e-06 *** 
10.09 < 2e-16 *** 
... 
... 
F-statistic: 101.8 on 1 and 178 DF, p-value: < 2.2e-16 

मैं इस फार्मूले के साथ मैन्युअल रूप से टी मूल्यों का पी-मूल्य गणना करना चाहते हैं:

p = 1 - 2*F(|t|) 

p_value_1 <- 1 - 2 * pt(abs(t_1), 178) 
p_value_2 <- 1 - 2 * pt(abs(t_2), 178) 

मैं मॉडल सारांश में के रूप में ही पी-मूल्यों को प्राप्त नहीं है। इसलिए, मैं जानना चाहता हूं कि summary फ़ंक्शन Pr(>|t|) मेरे सूत्र से अलग है, क्योंकि मुझे Pr(>|t|) की परिभाषा नहीं मिल रही है।

क्या आप मेरी मदद कर सकते हैं? आपका बहुत बहुत धन्यवाद!

+1

हाँ! दोनों उत्तरों ने मेरी मदद की! मैंने दोनों ने उन्हें वोट दिया :-) लेकिन आपके जवाब ने मुझे थोड़ा और विश्वास दिलाया क्योंकि यह वही था जो मैं चाहता था और इतना छोटा था। एक बार फिर धन्यवाद! – Frosi

उत्तर

3

यह

2 * pt(-abs(t_value), df) 

उदाहरण के लिए है:

2 * pt(-5.06, 178) 
#[1] 1.038543e-06 

2 * pt(-10.09, 178) 
#[1] 3.223683e-19 

वैकल्पिक रूप से, का उपयोग

2 * pt(abs(t_value), df, lower.tail = FALSE) 
3

हम पी मूल्य की गणना कर सकते हैं पीआर (> | टी |) निम्नलिखित अलग अलग तरीकों से:

tval <- 5.06 
df <- 178 

# compute area under the t-pdf 
integrate(function(x) dt(x, df), -Inf, -tval)$value + integrate(function(x) dt(x, df), tval, Inf)$value # sum of two areas 
# [1] 1.038543e-06 
1-integrate(function(x) dt(x, df), -tval, tval)$value 
# [1] 1.038543e-06 
# 2-sided t-test: Pr_T(|t|>|tval|) = 2*(1 - F_T(|tval|)) = 2*F_T(-|tval|), where T~t(df=178) 
2*(1 - pt(tval, df)) 
# [1] 1.038543e-06 
2*pt(tval, df, lower.tail = FALSE) 
# [1] 1.038543e-06 
1 - (pt(tval, df) - pt(-tval, df)) 
# [1] 1.038543e-06 
2*pt(-tval, df) 
# [1] 1.038543e-06 

निम्नलिखित ज्यामितीय एक अलग (कम चरम) टी आंकड़े के मूल्य के साथ एक ही दिखाता है, जैसा कि हम देख सकते हैं, वहाँ दो हैं (सममित) नीले क्षेत्र जो 2-तरफा टी-टेस्ट के तहत एक साथ इसी संभावना का प्रतिनिधित्व करते हैं।

df <- 178 
x <- seq(-6, 6,0.01) 
y <- dt(x, df) 
tval <- 1.25 
plot(x, y, type='l', main='t-distribution and p-value (5% significance level, 2-sided t-test)') 
abline(h=0) 
abline(v = c(tval, -tval), col='red') 
index1 <- which(x >= -tval)[1] 
index2 <- which(x >= tval)[1] 
polygon(x = c(x[1:index1], x[index1], x[1]), 
     y = c(y[1:index1], 0, 0), 
     col = "blue") 
polygon(x = c(x[index2], x[index2], x[index2:length(x)]), 
     y = c(0, y[index2], y[index2:length(y)]), 
     col = "blue") 

enter image description here

संबंधित मुद्दे