![](/img/trans.png)
[英]Getting p-value for linear regression in C gsl_fit_linear() function from GSL library
[英]How do I calculate p values of a linear regression given the covariance matrix and fit coefficients
我使用GSL庫在C中執行了線性回歸。 我在R中執行了相同的回歸。我可以使用“summary”命令在R中訪問此回歸的p值。
在C中,我有協方差矩陣,殘差平方和值和擬合系數。 使用這些,我如何計算p值?
我使用“ 從GSL庫中獲取C gsl_fit_linear()函數中的線性回歸的p值來嘗試這種方法”
任何人都可以確認它的有效性嗎? 與R相比,它給出的結果有所不同。
我已經將這行C代碼隔離為不正確,但我不明白為什么:
double pv0=t0<0?2*(1-gsl_cdf_tdist_P(-t0,n-2)):2*(1-gsl_cdf_tdist_P(t0,n-2));//This is the p-value of the constant term
R給出的結果:
系數:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -700.000 226.569 -3.090 0.05373 .
x 60.000 6.831 8.783 0.00311 **
C給出的結果:
Coefficients Estimate Std. Error t value Pr(>|t|)
(Intercept) -700.000000 226.568606 -3.089572 -550099700.000000
x 60.000000 6.831301 8.783101 -4.000000
gsl_cdf_tdist_P
應該有兩個double
參數,並在0和1之間返回一個double
。
首先檢查所有類型。
如果在所有類型都正確的情況下它返回0-1之外的值,則某處存在非常嚴重的問題。
結果我正在編譯而沒有警告,我沒有看到gsl_cdf_tdist_P被隱式聲明。 這導致編譯器認為函數必須返回一個整數。 我包含了相關的gsl標頭,並獲得了匹配R的值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.