搜索
人大经济论坛 附件下载

附件下载

所在主题:
文件名:  汇总数据.xlsx
资料下载链接地址: https://bbs.pinggu.org/a-2100895.html
附件大小:
41.29 KB   举报本内容
这是程序,那两个错误我用红色标注了,还有数据也附上(只能上传xlsx格式的,不能传csv格式)。请问是哪里出了错误?因为是要用这个R语言完成一门课的作业,但是以前也没有学过,用的现成的程序,所以不是很懂。
###データファイルの読み込み
> Data<-read.csv("E:/研一/离散/动态定制公交/动态定制公交数据/汇总数据.csv",header=T)
>
> hh<-nrow(Data)##数据数:data行数究竟有多少
> ch<- 3##此次使用的选项
>
> b0<-c(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)
> ## Logit model 对数似然函数的定义
> fr <- function(x) {
+ ##参数:
+ ##常数项
+
+ b1 <- x[1]
+ b2 <- x[2]
+
+ ##单程票价
+
+ dt1 <- x[3]
+
+ ##总时间(min)
+
+ dt2 <- x[4]
+
+ ##绕行时间
+
+ dt3 <- x[5]
+
+ ##之前的交通方式
+
+ dm1 <- x[6]
+ dm2 <- x[7]
+ dm3 <- x[8]
+
+
+ ##乘坐次数
+
+ dn1 <- x[9]
+
+ ##出行目的
+
+ dp1 <- x[10]
+
+ ##单程距离
+
+ dt4 <- x[11]
+
+ ##优点
+
+ dm1 <- x[12]
+ dm2 <- x[13]
+ dm3 <- x[14]
+ dm4 <- x[15]
+ dm5 <- x[16]
+ dm6 <- x[17]
+ dm7 <- x[18]
+
+ ##缺点
+
+ df1 <- x[19]
+ df2 <- x[20]
+ df3 <- x[21]
+ df4 <- x[22]
+ df5 <- x[23]
+
+ ##满意度
+
+ ds1 <- x[24]
+ ds2 <- x[25]
+
+ ##个人属性
+ ##性别
+ dg1 <- x[26]
+
+ ##年龄
+ da1 <- x[27]
+
+ ##交通支出
+ de1 <- x[28]
+
+ ##职业
+ dc1 <- x[29]
+
+ LL=0
+ ##A= 1001
+ ##B= 1002
+ ##C= 1003
+
+ ##効用の計算:説明変数にしたい列を入れる
+ ##单程票价 ##总时间 ##绕行时间 ##交通方式 ##乘坐次数 ##出行目的 ##单程距离 ##优点 ##缺点 ##满意度 ##性别 ##年龄 ##交通支出 ##职业 ##定数项
+ A <- dt1*Data[,30] + dt2*Data[,31] + dt3*Data[,32] +dm1*Data[,7] + dm2*Data[,8] + dm3*Data[,9]+ dn1*Data[,10] + dp1*Data[,11] + dt4*Data[,12] + dm1*Data[,13] + dm2*Data[,14] + dm3*Data[,15] + dm4*Data[,16] + dm5*Data[,17] + dm6*Data[,18] + dm7*Data[,19] + df1*Data[,20] + df2*Data[,21] + df3*Data[,22] + df4*Data[,23] + df5*Data[,24]+ ds1*Data[,27] + ds2*Data[,28] + dg1*Data[,2] + da1*Data[,3] + de1*Data[,5]+dc1*Data[,6]+ b2*matrix(1,nrow =hh,ncol=1)
+ B <- dt1*Data[,33] + dt2*Data[,34] + dt3*Data[,35] +b1*matrix(1,nrow =hh,ncol=1)
+ C <- dt1*Data[,36] + dt2*Data[,37] + dt3*Data[,38]
+ ##选择概率的计算
+ PPA <- exp(A)/(exp(A)+exp(B)+exp(C))
+ PPB <- exp(B)/(exp(A)+exp(B)+exp(C))
+ PPC <- exp(C)/(exp(A)+exp(B)+exp(C))
+
+ PA <- (PPA!=0)*PPA + (PPA==0)
+ PB <- (PPB!=0)*PPB + (PPB==0)
+ PC <- (PPC!=0)*PPC + (PPC==0)
+
+ ##选择结果
+ CA<- Data[,39]==1001
+ CB<- Data[,39]==1002
+ CC<- Data[,39]==1003
+
+ ##似然函数的计算
+ LL<-colSums(CA*log(PA) + CB*log(PB)+ CC*log(PC))
+
+ }
>
> ##对数似然函数fr的最大化
> res<-optim(b0,fr, method = "BFGS", hessian = TRUE, control=list(fnscale=-1))
错误于optim(b0, fr, method = "BFGS", hessian = TRUE, control = list(fnscale = -1)) :
'vmmin'的初始值不能为无穷大

>
> ## estimated parameter
> b<-res$par
> hhh<-res$hessian
>
> ## t值的计算
> tval<-b/sqrt(-diag(solve(hhh)))
错误于solve.default(hhh) : Lapack例行程序dgesv: 系统正好是奇异的
>
> ##初期尤度
> L0 <- hh*log(1/ch)
> ##最終尤度
> LL <- res$value
>
> ## 適合度の計算
> ##結果の出力
> ##ρ^2値
> print((L0-LL)/L0)
[1] 0.4149937
> ##修正済ρ^2値
> print((L0-(LL-length(b)))/L0)
[1] 0.3694817
>
> print(res)
$par
[1] -0.429536540.11240110 -0.29608621 -0.42642672 -0.063969570.47307311 -0.133414560.318611390.000000000.000000000.000000000.00000000

$value
[1] -154.2468

$counts
function gradient
50 18

$convergence
[1] 0

$message
NULL

$hessian
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12]
[1,]-31.86689319.08024 -30.90659 44.452377 -134.46467 -16.04825922.540420 5.110847 0 0 0 0
[2,] 19.080239 -31.71610 46.99053-20.706819 309.8236610.051502 -38.603086 5.446630 0 0 0 0
[3,]-30.90658846.99053 -1589.64483416.848184 967.14577 -14.87913163.811753 -13.431721 0 0 0 0
[4,] 44.452377 -20.70682 416.84818 -369.731637 309.8063019.653960 -26.675049-7.326888 0 0 0 0
[5,] -134.464669 309.82366 967.14577309.806304 -12771.88780 -81.259126 377.191737 -85.652873 0 0 0 0
[6,]-16.04825910.05150 -14.87913 19.653960 -81.25913 -16.048259 7.672827 2.009379 0 0 0 0
[7,] 22.540420 -38.60309 63.81175-26.675049 377.19174 7.672827 -72.091173 7.051744 0 0 0 0
[8,] 5.110847 5.44663 -13.43172 -7.326888 -85.65287 2.009379 7.051744 -15.203331 0 0 0 0
[9,] 0.000000 0.00000 0.00000 0.000000 0.00000 0.000000 0.000000 0.000000 0 0 0 0
[10,] 0.000000 0.00000 0.00000 0.000000 0.00000 0.000000 0.000000 0.000000 0 0 0 0
[11,] 0.000000 0.00000 0.00000 0.000000 0.00000 0.000000 0.000000 0.000000 0 0 0 0
[12,] 0.000000 0.00000 0.00000 0.000000 0.00000 0.000000 0.000000 0.000000 0 0 0 0

> print(tval)




    熟悉论坛请点击新手指南
下载说明
1、论坛支持迅雷和网际快车等p2p多线程软件下载,请在上面选择下载通道单击右健下载即可。
2、论坛会定期自动批量更新下载地址,所以请不要浪费时间盗链论坛资源,盗链地址会很快失效。
3、本站为非盈利性质的学术交流网站,鼓励和保护原创作品,拒绝未经版权人许可的上传行为。本站如接到版权人发出的合格侵权通知,将积极的采取必要措施;同时,本站也将在技术手段和能力范围内,履行版权保护的注意义务。
(如有侵权,欢迎举报)
二维码

扫码加我 拉你入群

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

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

GMT+8, 2025-12-30 17:16