全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
16408 17
2013-05-25
R语言数据.xls
大小:(89.5 KB)

 马上下载

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
这是什么意思

下面,有我改过的代码,现在把数据奉上


二维码

扫码加我 拉你入群

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

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

全部回复
2013-5-25 22:58:38
发程序代码最好用“代码”功能,那样比较清楚。
二维码

扫码加我 拉你入群

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

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

2013-5-25 23:00:59
你的LL函数里面的x4是什么?

把数据放上来看看。
二维码

扫码加我 拉你入群

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

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

2013-5-26 15:25:53
qoiqpwqr 发表于 2013-5-25 23:00
你的LL函数里面的x4是什么?

把数据放上来看看。
复制代码
上面是我的代码
二维码

扫码加我 拉你入群

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

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

2013-5-26 15:31:59
qoiqpwqr 发表于 2013-5-25 23:00
你的LL函数里面的x4是什么?

把数据放上来看看。
数据已经发了,能麻烦帮我看看么
二维码

扫码加我 拉你入群

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

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

2013-5-26 20:12:35
区外不出行是哪个变量?
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群