hlm很厲害,但其實就是納入考慮了組間的變異,和mixed model是比較像的,所以導致網上的很多資料都將兩者混為一談。但我覺得還是hlm對分組的限制更顯著,mixed model更像是線性和hlm之間的一種模型。
hlm有自己的一套軟體和操作,安裝包可見附件。
我是用r實現的,整個過程和mixed model的建立非常相近,主要是需要考慮組間的變異。
具體r**可見:
setwd("c:/users/jack/desktop/mission/bmi_hlm")
library(readxl)
mydata <- as.data.frame(read_excel("mydata_new_rcs.xlsx"))
names(mydata)<-c('id','age_week','weight_gain','bmi_group','age1','age2','age3','age4')
#delete the outliers
mydata<-mydata[mydata$weight_gain<39,]#丟去8個異常值
#if need to create the dependant variable
for (i in 1:nrow(mydata)) else if (mydata[i,4]==2) else if (mydata[i,4]==3)
}#build up the model
library(lme4)
model3.1 = lmer(weight_gain ~ age1+age2+age3+age4+ (1|id) +(1+age1|bmi_group)+(1+age2|bmi_group)+(1+age3|bmi_group)+(1+age4|bmi_group), data=mydata,reml=false)
coef(model3.1)
rcs_data <- unique(mydata[c(2,5,6,7,8)])
for (i in 1:nrow(rcs_data))
#bmi 1
plot(mydata$age_week[mydata$bmi_group==1], mydata$weight_gain[mydata$bmi_group==1], col = "red")
points(rcs_data$age_week, rcs_data$mean1, col = "blue", cex = 1.5)
#group1
group1<-mydata[mydata$bmi_group==1,]
#quantiles
table1<-data.frame(matrix(na,ncol = 5))
for (gtage in sort(unique(group1$age_week)))
#sdresult_sd<-matrix(ncol = 2)
result_sd <- c()
for (gtage in sort(unique(group1$age_week)))
temp_sd<-sqrt(temp_sum/length(group1$weight_gain[group1$age_week==gtage]))
result_sd<-c(result_sd,temp_sd)
}#result1
result1<-as.data.frame(cbind(sort(unique(group1$age_week)),result_sd,na))
i = 1
for (gtage in sort(unique(group1$age_week)))
names(result1)<-c('age','sd','mean')
#group2
group2<-mydata[mydata$bmi_group==2,]
#nas.data.frame(table(group2$age_week))
#quantiles
table2<-data.frame(matrix(na,ncol = 5))
for (gtage in sort(unique(group2$age_week)))
#mean
rcs_data[order(rcs_data$age_week),c(1,7)]
#sdresult_sd2 <- c()
for (gtage in sort(unique(group2$age_week)))
temp_sd<-sqrt(temp_sum/length(group2$weight_gain[group2$age_week==gtage]))
result_sd2<-c(result_sd2,temp_sd)
}as.data.frame(result_sd2)
#result2
result2<-as.data.frame(cbind(sort(unique(group2$age_week)),result_sd2,na))
i = 1
for (gtage in sort(unique(group2$age_week)))
names(result2)<-c('age','sd','mean')
#group3
group3<-mydata[mydata$bmi_group==3,]
#nas.data.frame(table(group3$age_week))
#quantiles
table3<-data.frame(matrix(na,ncol = 5))
for (gtage in sort(unique(group3$age_week)))
#mean
rcs_data[order(rcs_data$age_week),c(1,8)]
#sdresult_sd3 <- c()
for (gtage in sort(unique(group3$age_week)))
temp_sd<-sqrt(temp_sum/length(group3$weight_gain[group3$age_week==gtage]))
result_sd3<-c(result_sd3,temp_sd)
}as.data.frame(result_sd3)
#result3
result3<-as.data.frame(cbind(sort(unique(group3$age_week)),result_sd3,na))
i = 1
for (gtage in sort(unique(group3$age_week)))
names(result3)<-c('age','sd','mean')
#get the quantiles for group1
a=qnorm(p = 0.03,mean = result1$mean,sd = result1$sd)
b=qnorm(p = 0.1,mean = result1$mean,sd = result1$sd)
c=qnorm(p = 0.5,mean = result1$mean,sd = result1$sd)
d=qnorm(p = 0.9,mean = result1$mean,sd = result1$sd)
e=qnorm(p = 0.97,mean = result1$mean,sd = result1$sd)
cbind(a,b,c,d,e)
a=qnorm(p = 0.03,mean = result2$mean,sd = result2$sd)
b=qnorm(p = 0.1,mean = result2$mean,sd = result2$sd)
c=qnorm(p = 0.5,mean = result2$mean,sd = result2$sd)
d=qnorm(p = 0.9,mean = result2$mean,sd = result2$sd)
e=qnorm(p = 0.97,mean = result2$mean,sd = result2$sd)
cbind(a,b,c,d,e)
a=qnorm(p = 0.03,mean = result3$mean,sd = result3$sd)
b=qnorm(p = 0.1,mean = result3$mean,sd = result3$sd)
c=qnorm(p = 0.5,mean = result3$mean,sd = result3$sd)
d=qnorm(p = 0.9,mean = result3$mean,sd = result3$sd)
e=qnorm(p = 0.97,mean = result3$mean,sd = result3$sd)
cbind(a,b,c,d,e)
高斯混合模型的理解
背景相減法進行建模時涉及到了背景模型的建立問題,許多 以及在opencv裡都提供了基於高斯混合模型進行背景更新的方法,無奈涉及到了太多的概率論的東西,大四小白完全看不懂,只能大概理解,下面是找到的幾篇挺有幫助的部落格。高斯混合模型 gmm 及其em演算法的理解 深度理解高斯混合模型 gmm 這篇部落...
模型訓練和模型擬合的幾點理解
模型訓練和模型擬合的幾點理解,歡迎大牛指點 對於我們日常工作,拿到乙個挖掘專案,一般都是先走一遍標準化的資料流程,效果好大家歡喜,效果不好各種調參。這裡有幾點想說 1 在開始挖掘專案之前,是否有評估挖掘專案的可行性?2 挖掘專案可行,現有的資料是否可以支撐專案的開展?3 如何判斷現有資料可支撐需求呢...
3模型大小 混合精度對模型訓練和推理的影響
計算機使用0 1來標識資訊,每個0或每個1代表乙個bit。資訊一般會以下面的三種形式表示 1 字串 字串的最小單元是char,每個char佔8個bit,也就是1個byte。比如字串 abc 這三個字元組成的串占用的儲存空間 儲存空間 1x3 3 bytes 24 bits 2 整數整數包括int4 ...