| 所在主题: | |
| 文件名: R语言数据.xls | |
| 资料下载链接地址: https://bbs.pinggu.org/a-1338848.html | |
| 附件大小: | |
|
d<-read.csv(file=file.choose(),header=T)
>s1<-d$ln人口密度 >s2<-d$ln面积 >x1<-d$GDP >x2<-d$距离 >x3<-d$是否中心城区 > params<-c(0,0,0,0,0,0,0,0,0) > #定义log-likelihood函数 > LL<-function(params,d) + {#参数"params"是一个向量. + #参数"d",是整理之后的数据. + f<-(-x4)*log(1+exp(-params[1]*(params[2]*s1+params[3]*s2+params[4]*x1+params[5]*x2+params[6]*x3-params[7]*x1+params[8]*x2+params[9]*x3))) + ll<-sum(log(f)) + ll<-sum(log(f)) + #log-likelihood函数 + return(ll) + #函数是最小化一个函数的值,但我们但我们是要最大化log- + #likeilhood函数,所以需要在“ll”前加个“-”号。 + } > ##最大似然值的计算 > res<-optim(params,LL,method="BFGS",hessian=TRUE,control=list(fnscale=-1)) 错误于optim(params, LL, method = "BFGS", hessian = TRUE, control = list(fnscale = -1)) : 'vmmin'的初始值不能为无穷大 此外: 警告信息: 1: In log(f) : 产生了NaNs 2: In log(f) : 产生了NaNs > ##参数估计 > b<-res$par 错误: 找不到对象'res' > hhh<-res$hessian 错误: 找不到对象'res' > ##t值的计算 > tval<-b/sqrt(-diag(solve(hhh))) 错误: 找不到对象'b' > ##初步似然值 > L0<-colSums((-x4)*log(1+exp(-params[1]*(params[2]*s1+params[3]*s2+params[4]*x1+params[5]*x2+params[6]*x3-params[7]*x1+params[8]*x2+params[9]*x3))) > ##最终似然值 > LL<-res$value 错误: 找不到对象'res' > ##拟合度计算 > ##结果输出 > ##p^2的值 > cat("roh = ",(L0-LL)/L0) 错误于cat("roh = ", (L0 - LL)/L0) : 找不到对象'L0' > ##修正的p^2值 > cat("rohbar=",(L0-(LL-length(b)))/L0) 错误于cat("rohbar=", (L0 - (LL - length(b)))/L0) : 找不到对象'L0' > print(res) 错误于print(res) : 找不到对象'res' > print(tval) 错误于print(tval) : 找不到对象'tval' 请问那个optim函数出错的原因是什么?还有此外: 警告信息: 1: In log(f) : 产生了NaNs 2: In log(f) : 产生了NaNs 这是什么意思 下面,有我改过的代码,现在把数据奉上 |
|
熟悉论坛请点击新手指南
|
|
| 下载说明 | |
|
1、论坛支持迅雷和网际快车等p2p多线程软件下载,请在上面选择下载通道单击右健下载即可。 2、论坛会定期自动批量更新下载地址,所以请不要浪费时间盗链论坛资源,盗链地址会很快失效。 3、本站为非盈利性质的学术交流网站,鼓励和保护原创作品,拒绝未经版权人许可的上传行为。本站如接到版权人发出的合格侵权通知,将积极的采取必要措施;同时,本站也将在技术手段和能力范围内,履行版权保护的注意义务。 (如有侵权,欢迎举报) |
|
京ICP备16021002号-2 京B2-20170662号
京公网安备 11010802022788号
论坛法律顾问:王进律师
知识产权保护声明
免责及隐私声明