楼主: zhangxuyu1121
4185 11

[问答] R语言运行错误 [推广有奖]

  • 18关注
  • 1粉丝

高中生

85%

还不是VIP/贵宾

-

威望
0
论坛币
20 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
2189 点
帖子
21
精华
0
在线时间
43 小时
注册时间
2018-4-20
最后登录
2019-5-24

楼主
zhangxuyu1121 发表于 2018-7-11 19:24:33 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
我用maxLik函数做极大似然估计的时候出现警告:In sqrt(diag(vc)):产生NaNs

导致了下列问题:
Error Analysis:
         Estimate  Std. Error  t value Pr(>|t|)   
mu      2.916e-02   9.786e-04    29.80   <2e-16 ***
ar1     9.647e-01   1.327e-03   726.93   <2e-16 ***
ma1    -1.223e-01   6.612e-02    -1.85   0.0643 .  
omega   1.237e-06          NA       NA       NA   
alpha1  1.000e+00   6.811e-02    14.68   <2e-16 ***
beta1   6.616e-01   1.638e-02    40.38   <2e-16 ***
代码:
MLE<-maxLik(logLikFun,start=c("初始化参数"))
请大神帮忙解决,万分感谢!!

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:运行错误 R语言 Analysis estimate Analysi

沙发
xjg1983 发表于 2018-7-11 19:50:27
调出diag(vc)看看呗!

藤椅
zhangxuyu1121 发表于 2018-7-11 20:22:52 来自手机
xjg1983 发表于 2018-7-11 19:50
调出diag(vc)看看呗!
请问怎么调呢?

板凳
zhangxuyu1121 发表于 2018-7-11 20:27:07
两部模型.txt (2.09 KB)
这是数据和代码

报纸
xjg1983 发表于 2018-7-12 18:10:30
zhangxuyu1121 发表于 2018-7-11 20:22
请问怎么调呢?
这个算一次,好像要挺久的,我没算完。直接在命令窗口打入diag(vc)即可。

地板
zhangxuyu1121 发表于 2018-7-13 11:51:09
xjg1983 发表于 2018-7-12 18:10
这个算一次,好像要挺久的,我没算完。直接在命令窗口打入diag(vc)即可。
我输入diag(vc),显示找不到对象“vc”,我换了样本量比较少的数据,这个结果很快就出来了,麻烦您在帮我看一下,真的非常感谢!!
  1. n=100
  2. x<-rgamma(300,1.2,0.8)
  3. x<-sample(x)
  4. x1<-x[1:100]
  5. x2<-x[101:200]
  6. x3<-x[201:300]
  7. x<-cbind(x1,x2,x3)
  8. const<-rep(1,n)
  9. x<-cbind(const,x)
  10. beta<-array(c(0.67,-1.53,-1.2,-0.9),c(1,4))
  11. y<-NULL
  12. p<-NULL
  13. for(i in 1:n){
  14.    p[i]<-1/(1+exp(-(beta%*%as.matrix(x[i,]))))
  15.    y[i]<-rbinom(1,1,p[i])
  16.    }
  17. data<-data.frame(cbind(y,x))
  18. dat1<-data[data$y==1,]
  19. dat2<-data[data$y==0,]
  20. alpha<-array(c(1,1.33,0.89,1.14),c(1,4))#要不全为正,要不都为负
  21. y1<-NULL
  22. for(j in 1:nrow(dat1)){
  23. y1[j]=alpha%*%as.matrix(x[j,])
  24. dat1$y[j]<-y1[j]
  25. }
  26. data_1<-rbind(dat1,dat2)
  27. train_data<-data_1[sample(nrow(data_1)),]
  28. #定义似然函数
  29. logLikFun<-function(param){
  30. beta<-array(param[1:4],c(1,4))
  31. alpha<-array(param[5:8],c(1,4))
  32. p<-NULL
  33. mu<-NULL
  34. sigma<-NULL
  35. logl<-NULL
  36. for (i in 1:nrow(train_data))
  37. {
  38. p[i]=exp(beta%*%as.matrix(x[i,]))/(1+exp(beta%*%as.matrix(x[i,])))
  39. if(y[i]==0){
  40. logl[i]=log(1-p[i])
  41. }else{
  42. k<-runif(1,1,10)
  43. sigma[i]=k^2*exp(alpha%*%as.matrix(x[i,]))#尺度参数
  44. mu=k^(-2)
  45. logl[i]=log(p[i])-mu*log(sigma[i])+(mu-1)*log(y[i])-lgamma(mu)-y[i]/sigma[i]
  46. }
  47. }
  48. logL<-sum(logl)
  49. return(logL)
  50. }
  51. beta<-array(c(2,-0.2,0.2,3.34),c(1,4))
  52. alpha<-array(c(-1.5,-0.23,0,3,2.9),c(1,4))
  53. logLikFun(c(beta,alpha))
  54. library(maxLik)
  55. library(miscTools)
  56. MLE<-maxLik(logLikFun,start=c(beta,alpha))
复制代码

7
1362325337 发表于 2018-11-25 10:48:50
请问您是怎么解决的

8
rosenbloog 发表于 2018-11-25 11:20:48
地板楼的code运行在我这没有问题啊。

9
林娟运 发表于 2019-8-13 11:42:42
xjg1983 发表于 2018-7-11 19:50
调出diag(vc)看看呗!
In if (lag) { :
  the condition has length > 1 and only the first element will be used
请问这种情况呢?实在看不出来哪里错

10
林娟运 发表于 2019-8-13 11:42:43
xjg1983 发表于 2018-7-11 19:50
调出diag(vc)看看呗!
In if (lag) { :
  the condition has length > 1 and only the first element will be used
请问这种情况呢?实在看不出来哪里错

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-26 17:10