簡體   English   中英

R-如何根據人工數據預測值

[英]R - How to predict values from an artificial data

我對如何根據人工數據預測值感到有些困惑,所以這是我的問題。

我正在嘗試使用以下數據進行簡單的線性回歸(預測):

set.seed(1)
x.train<-runif(1000,0,2)
eps.train<-rnorm(1000,sd=0.1)
y.train<-sin(x.train)+eps.train
model<-lm(y.train~x.train)
confint(modelo,level=0.95)

所以現在,我想我必須做些類似的事情:

set.seed(16)
x.test<-data.frame(runif(100,0,2))
eps.test<-rnorm(100,sd=0.1)
y.test<-sin(x.test)+eps.test
linear_prediction<-predict(model, x.test, interval="prediction")

為了澄清起見,我想使用大小為100的測試數據從大小為1000的“原始”數據中進行預測。

我知道我在代碼的第二部分做錯了什么,但我自己無法解決。 我將不勝感激。 提前致謝。

線性回歸模型中的變量稱為x.train 例如,打印模型可以得到

model

Call:
lm(formula = y.train ~ x.train)

Coefficients:
(Intercept)      x.train  
     0.2246       0.4809  

但是,在經過testdata ,變量名是runif.100..0..2. 為了避免出現警告消息,只需更改測試數據中的變量名稱,然后重新運行預測即可。

colnames(x.test) = c("x.train") 
linear_prediction<-predict(model, x.test, interval="prediction")

暫無
暫無

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

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