使用R 3.2.2,我發現了一種運行簡單線性插值的怪異行爲。第一數據幀給出正確的結果:R中的線性插值(lm),奇怪的行爲
test<-data.frame(dt=c(36996616, 36996620, 36996623, 36996626), value=c(1,2,3,4))
lm(value~dt, test)$coefficients
(Intercept) dt
-1.114966e+07 3.013699e-01
通過遞增dt變量,現在係數爲NA:
test$dt<-test$dt+1
lm(value~dt, test)$coefficients
(Intercept) dt
2.5 NA
知道爲什麼?似乎有什麼地方溢出?
謝謝!
是的,從''biglm'包biglm'功能給出了相同的答案。 –
非常感謝您的快速回答,實際上它可以與'tol'選項配合使用。事情是我得到了任何與y值相同的問題,即'test <-data。幀(dt = c(36996616,36996620,36996623,36996626),值= c(4655145,2,-51434,215))。在這種情況下,x和y的相關性較小但相同的NA問題。 – Yves
不客氣。我在中間提到的計算奇異誤差來自設計矩陣'x',具體來說就是'solve(t(x)%*%x)'。運行'qr(t(x)%*%x)$ rank'並得到'1',這意味着一個奇異矩陣。但是如果你運行'qr(t(x)%*%x,tol = 1e-31)$ rank',你得到'2',這是一個非奇異矩陣。也就是說,我能夠用更新後的數據得到兩個參數估計值,所以我認爲這個問題是高相關性和設計矩陣的組合,它只依賴於'dt' – Whitebeard