• 基于回归-马尔科夫模型的客运量预测


    回归分析是一种应用极为广泛的数量分析方法,主要用于确定2种或2种以上变量间相互依赖的定量关系。回归分析的基本思想是:虽然自变量和因变量之间没有严格的、确定性的函数关系,但可以设法找出最能代表它们之间关系的数学表达形式。建立线性回归模型后,根据实测数据求解模型的各个参数,然后评价回归模型能否很好地拟合实测数据,如果能,能可以根据自变量作进一步预测。

    由于客运量的影响因素复杂,其变化呈现一定的随机波动特点,因而预测结果会产生误差。而马尔科夫链是根据系统状态之间的转移矩阵来描述一个随机动态系统未来的发展状态,转移矩阵反映了各个状态之间的规律性。马尔科夫链过程最主要的特征就是无后效性,即t时刻之后的状态至于t时刻的状态有关,而与以前的状态无关。因此,可以通过对线性回归预测模型的结果进行马尔科夫链进来提高其预测的准确定。

    初始数据:

    traffc.csv

    year,traffic,distance
    
    2001,105155,7.01
    
    2002,105606,7.19
    
    2003,97260,7.3
    
    2004,111764,7.44
    
    2005,115583,7.54
    
    2006,125656,7.71
    
    2007,135670,7.8
    
    2008,146193,7.97
    
    2009,153451,8.55
    
    2010,167609,9.12

    traffic单位为万人,distance单位为万km

    开始R语言操作:

    1.导入数据

    mydata <- read.table("/Users/hs/Desktop/traffic.csv",header=TRUE,sep=",")

    2.线性拟合

    fit <- lm(traffic ~ distance, data=mydata )

    3.查看fit

    fit

    Coefficients:
    (Intercept)     distance  
        -141661        34530

    得到traffic = 34530 * distance - 141661

    4.查看fit详情

    summary(fit)

    Residuals:
         Min       1Q   Median       3Q      Max 
    -13147.4  -3386.0   -560.9   3843.8  12650.6 
    
    Coefficients:
                Estimate Std. Error t value Pr(>|t|)    
    (Intercept)  -141661      30909  -4.583  0.00179 ** 
    distance       34530       3969   8.700 2.38e-05 ***
    ---
    Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
    
    Residual standard error: 7708 on 8 degrees of freedom
    Multiple R-squared:  0.9044,	Adjusted R-squared:  0.8924 
    F-statistic: 75.68 on 1 and 8 DF,  p-value: 2.377e-05

    5.计算回归方程得到的traffic

    fitted(fit)

           1        2        3        4        5        6        7        8        9       10 
    100393.7 106609.1 110407.4 115241.6 118694.5 124564.6 127672.3 133542.4 153569.7 173251.7

    6.计算回归方程和实际traffic的差值

    residuals(fit)

             1           2           3           4           5           6           7           8           9          10 
      4761.2933  -1003.0836 -13147.3695  -3477.5515  -3111.5386   1091.3832   7997.6948  12650.6166   -118.7089  -5642.7358

    7.计算回归方程和实际traffic的差值比例

    residuals(fit)/mydata$traffic*100,(*100得到百分比)

              1            2            3            4            5            6            7            8            9           10 
      4.52788104  -0.94983578 -13.51775597  -3.11151308  -2.69203831   0.86854841   5.89496186   8.65336684  -0.07735951  -3.36660666

    8.马尔科夫预测模型

    将7得到的比例划分为4个状态

    状态

    状态区间%

    含义
    1 [-15~-10] 显著下降
    2 (-5~0] 下降
    3 (0~5] 增长
    4 (5,10] 显著增长

    根据上表可以得到历年状态变更表

    2001 2002 2003 2004 2005 2006 2007 2008 2009 2010
    3 2 1 2 2 3 4 4 2 2

    合计所有状态转移情况

    项目 状态1 状态2 状态3 状态4
    状态1 0 1 0 0
    状态2 1 2 1 0
    状态3 0 1 0 1
    状态4 0 1 0 1

    转换为概率表

    项目 状态1 状态2 状态3 状态4
    状态1 0 1 0 0
    状态2 0.25 0.5 0.25 0
    状态3 0 0.5 0 0.5
    状态4 0 0.5 0 0.5

    9.由于2010年处于状态2,则转移概率为[0.25,0.5,0.25,0]

    注意转移概率是从实际客运量到回归公式,所以要列方程如下:

    假设2010年客运量为x

    则状态1中值为(1-12.5%)x

    状态2中值为(1-0.25%)x

    状态3中值为(1+0.25%)x

    得到方程

    0.25*(1-12.5%)x+0.5*(1-2.5%)x+0.25*(1+2.5%)x=34530*distance-141661

    其中distance根据公布的数据,2011年铁路新增线路2022公里,即distance=9.12+0.2022=9.3222

    求得0.9625x=180234.6,x=187256.7即为2011年预测客运量

  • 相关阅读:
    sql-字符串拼接单,双引号及$
    SQL-SQLServer数据库查询
    SQL-数据库不能以127.0.0.1登录
    Excel-VBA-ActiveX编译错误:用户定义类型未定义
    Excel-VBA中,取:存储过程时,报:对象关闭时,不允许操作!
    JS
    小程序(Wepy)--生成海报图片
    小程序--时间处理(显示几分钟前,,几小时前,,几天前...)
    小程序--wepy省市区三级联动选择
    对于 wepy 不是内部或外部命令 -- 的解决办法
  • 原文地址:https://www.cnblogs.com/studyhs/p/5318446.html
Copyright © 2020-2023  润新知