如何解决如何沿着线性回归线估算分层/集群数据?
我正在寻找一些数据来估算缺失值。此数据通过Days
和Run_ID
进行聚类。
每个run_ID
代表一条不同的回归线,按照Days(x)和Values(y)的输出顺序排列。我尝试使用mice
,但是对于使用哪种方法感到困惑。我已经尝试过Cart
,Pmm
和norm
,但是三个都存在相同的问题。估算值没有意义。
例如,在RunID
之后所有推算的值都按时间顺序达到0,如果遵循正常的线性回归,则后续值应为0或接近,但推算值不遵循此线性回归模式
我如何错误使用此软件包?应该使用哪种方法?还是有另一个对这个实例更有用的软件包?
Days<-c(1:10)
Days<-rep(x=Days,times=30)
Run_ID<-c(1:30)
Run_ID<-rep(x=Run_ID,times=10)
#Values#-----
Values<- c(4.12,4.17,3.99,4.15,4.12,5.36,5.28,5.13 5.33,5.27,5.37,4.69,4.57,6.32,6.34,6.70,6.57,6.31,6.24,7.18,7.10,7.50,7.39,8.20,8.13,6.69,NA,6.82,3.83,3.82,3.58,3.71,3.38,3.22,5.08,5.13,4.74,5.05,4.79,4.94,4.46,4.52,4.33,5.80,5.83,6.08,5.55,7.06,7.05,7.32,6.63,6.65,6.25,6.93,3.97,4.22,3.63,3.59,3.46,5.17,5.14,4.90,4.60,4.18,3.49,6.11,6.01,6.14,6.10,5.71,5.64,7.37,7.29,7.86,7.85,7.83,7.81,6.95,5.44,3.95,3.90,3.06,3.26,2.65,2.60,5.15,5.24,5.07,5.03,4.77,0.00,1.88,6.37,5.97,5.96,5.63,5.58,7.27,7.31,8.46,8.34,7.95,3.81,3.72,2.87,2.93,2.26,2.14,5.30,4.88,3.89,4.41,2.40,6.23,6.20,6.03,5.94,5.50,5.51,8.08,7.94,7.07,4.76,3.30,3.35,2.66,2.64,1.00,1.07,4.91,4.31,4.28,4.37,3.16,3.96,5.85,5.46,6.60,7.59,7.69,7.92,7.79,6.16,3.15,2.18,5.11,5.25,4.34,1.98,1.90,3.79,5.69,5.70,5.74,5.43,5.40,7.30,7.82,7.34,7.33,4.65,3.43,5.09,3.88,0.44,3.77,5.61,5.62,6.26,5.57,7.57,7.49,7.66,6.15,6.04,6.13,2.63,2.94,4.68,4.87,2.22,2.84,5.42,5.34,7.63,6.68,6.62,5.82,5.81,4.67,2.92,1.45,1.26,2.83,5.98,NA)
##----
Test1<-data.frame(Days,Run_ID,Values)
install.packages("mice")
library(mice)
## These methods do not work and report error
imputed_Data1<- mice(Test1,m=1,maxit = 100,method = 'pmm',seed = 500)
imputed_Data3<- mice(Test1,method = 'norm',seed = 500)
## "cart" does work,but the results don't really fit the data and the way I need it layered
imputed_Data2 <- mice(Test1,method = 'cart',seed = 500)
summary(imputed_Data2)
imputed_Data2$imp$Values
completeData <- complete(imputed_Data2,1)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。