R中带模拟数据的有序Probit
这是我在StackExchange中提出的第一个问题。我是一个超级粉丝,用很多版本来学习LaTex、R等。我试着搜索之前的一个问题,虽然有一些类似的问题,但对于我的问题没有任何结论。我感谢你提供的任何帮助 我正在进行蒙特卡罗模拟,并研究不同的离散估计程序,即托比特、概率比特、多项式逻辑和有序概率比特,是如何进行比较的 以下是我生成数据的方式:R中带模拟数据的有序Probit,r,metrics,montecarlo,categorical-data,R,Metrics,Montecarlo,Categorical Data,这是我在StackExchange中提出的第一个问题。我是一个超级粉丝,用很多版本来学习LaTex、R等。我试着搜索之前的一个问题,虽然有一些类似的问题,但对于我的问题没有任何结论。我感谢你提供的任何帮助 我正在进行蒙特卡罗模拟,并研究不同的离散估计程序,即托比特、概率比特、多项式逻辑和有序概率比特,是如何进行比较的 以下是我生成数据的方式: x_1 <- replicate(100, rnorm(500, mean = 0, sd = 2)) x_2 <- replicate(10
x_1 <- replicate(100, rnorm(500, mean = 0, sd = 2))
x_2 <- replicate(100, rnorm(500, mean = 0, sd = 2))
error <- replicate(100, rnorm(500, mean = 0, sd= 1 ))
y <- 5*x_1 + 10*x_2 + error
我应该从哪里开始估算?我确信我的分析方法没有得到优化。我现在只是在学习R
XB <- list()
for (i in 1:100){
XB[[i]] <- 5*x_1[,i] + 10*x_2[,i]
}
vaar <- list()
for (i in 1:100){
vaar[[i]] <- sqrt(var(XB[[i]]))
}
tau_1 <- list()
tau_2 <- list()
tau_3 <- list()
for (i in 1:100){
tau_1[[i]] <- qnorm(.1, mean = mean(XB[[i]]), sd = vaar[[i]] + 1)
tau_2[[i]] <- qnorm(.5, mean = mean(XB[[i]]), sd = vaar[[i]] + 1)
tau_3[[i]] <- qnorm(.9, mean = mean(XB[[i]]), sd = vaar[[i]] + 1)
}
y_star <- matrix(0, ncol=ncol(y), nrow = nrow(y))
for (i in 1:100){
for (j in 1:500){
if(y[j,i] < tau_1[[1]]){
y_star[j,i] <- 1
}
else if(y[j,i] >= tau_1[[1]] & y[j,i] < tau_2[[i]]){
y_star[j,i] <- 2
}
else if(y[j,i] >= tau_2[[i]] & y[j,i] < tau_2[[i]]){
y_star[j,i] <- 3
}
else{
y_star[j,i] <- 4
}
}
}
betas_oprob <- list()
for (j in 1:100){
betas_oprob[[j]] <- polr(as.ordered(y_star[,j]) ~ 1+x_1[,j] + x_2[,j], method = "probit", Hess=TRUE)
}
Error in polr(as.ordered(y_star[, j]) ~ 1 + x_1[, j] + x_2[, j], method = "probit",
: attempt to find suitable starting values failed
In addition: Warning messages:
1: glm.fit: fitted probabilities numerically 0 or 1 occurred
2: glm.fit: algorithm did not converge
3: glm.fit: fitted probabilities numerically 0 or 1 occurred