【问题标题】:poly() and orthogonal polynomialspoly() 和正交多项式
【发布时间】:2015-06-10 07:32:47
【问题描述】:

我在 R 中搜索了 poly(),我认为它应该产生正交多项式,所以当我们在回归模型中使用它时,比如 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-17 表示10^-17

标签: r regression linear-algebra linear-regression


【解决方案1】:

您的主要问题是您缺少e"E notation" 的含义:正如上面@MamounBenghezal 所评论的,fffeggg 是@987654325 的简写@

我得到的答案略有与你的不同(差异在数字上微不足道),因为我在不同的平台上运行它:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-12-30
    • 2018-07-10
    • 2016-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多