簡體   English   中英

poly()和正交多項式

[英]poly() and orthogonal polynomials

我在R中搜索了poly() ,我認為它應該產生正交多項式,因此當我們在lm(y~poly(x,2))等回歸模型中使用它時lm(y~poly(x,2))預測變量是不相關的。 然而:

poly(1:3,2)=
[1,] -7.071068e-01  0.4082483
[2,] -7.850462e-17 -0.8164966
[3,]  7.071068e-01  0.4082483

我認為這可能是一個愚蠢的問題,但是我不明白結果poly(1:3,2)的列向量沒有內積零嗎? -7.07*0.40-7.85*(-0.82)+7.07*0.41=/ 0 那么,這種不相關的回歸預測因子又如何呢?

您的主要問題是您缺少e“ E表示法”的含義:如上述@MamounBenghezal所述, fff e gggfff * 10^(ggg)簡寫。

我得到的答案與您略有不同(從數字上來說,差別不大),因為我在不同的平台上運行此答案:

pp <- poly(1:3,2)
##                  1          2
## [1,] -7.071068e-01  0.4082483
## [2,]  4.350720e-18 -0.8164966
## [3,]  7.071068e-01  0.4082483

一種更簡單的格式:

print(zapsmall(matrix(c(pp),3,2)),digits=3)
##        [,1]   [,2]
## [1,] -0.707  0.408
## [2,]  0.000 -0.816
## [3,]  0.707  0.408

sum(pp[,1]*pp[,2]) ## 5.196039e-17, effectively zero

或使用示例,正確放置小數點:

-0.707*0.408-(7.85e-17)*(-0.82)+(0.707)*0.408
## [1] 5.551115e-17

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM