zoukankan      html  css  js  c++  java
  • 量化投资学习笔记17——回归分析:一些问题的处理

    数据违背基本假设的处理
    常见的问题:异方差,自相关,异常值。
    异方差
    指随机误差项的方差不是一个常数,而是随着自变量的取值变化而变化。
    带来的问题:①使用最小二乘法(OLE)求解参数时,参数的估计值虽然无偏,但不是最小方差线性无偏估计。②参数的显著性检验无效。③回归方程的应用效果不理想。
    产生原因:①模型缺少某些解释变量,缺省变量本身的方差被包含在随机误差的方差中。②模型本身选取有问题,非线性的选择了线性模型。
    其它原因:样本量过少、测量误差、异常数据、时序分析或使用面板数据。
    检验:
    残差图分析,散点如果随机分布无规律,表明方差符合要求,若有明显的规律性,表明有异方差性。
    等级相关系数法,又称斯皮尔曼检验(spearman)
    还有其它检验方法:相关图分析、Park检验和Gleiser检验、Goldfeld-Quandt检验、Breusch-Pagan检验、White检验。
    用上次的多元线性回归来实操一下。画残差图和密度分布图。

    resid = model.resid
    plt.scatter(data["mpg"], resid)
    plt.savefig("residual.png")
    plt.close()
    resid.plot.density()
    plt.savefig("resid_density.png")
    plt.close()
    

    看着还好。
    用scipy.stats里的工具来检测异方差性。

    print(stats.stats.spearmanr(resid.values, data["mpg"].values))
    

    结果为:
    SpearmanrResult(correlation=0.18725359199432956, pvalue=0.30478050953662256)
    p > 0.05,没有证据显示有异方差性。
    解决异方差的方法,用加权最小二乘法等方法。
    自相关
    指模型中随机误差项的相关系数不等于0。即变量前后数值之间存在相关关系。
    带来的问题:①用最小二乘法求解是虽然无偏,但估计量的方差不是最小。②估计量的方差是有偏的。③显著性检验失效。④存在序列相关时,最小二乘法对抽样误差很敏感。⑤应用效果不理想。
    常见原因:①模型遗漏关键变量。②错误的回归函数形式。③蛛网现象。指一个变量对另一个变量的影响有延迟性。④对数据加工整理使数据项之间出现自相关。
    检验方法:画et,et+1图,计算自相关系数,DW检验法。
    用自相关系数做检验

    acf = smt.stattools.acf(resid.values, nlags = 5)
    print(acf)
    
    fig = smt.graphics.plot_acf(resid, lags=5, alpha=0.5)
    fig.savefig("acf.png")
    

    结果
    [ 1. 0.03101277 -0.03869666 0.07033212 -0.23045137 0.02303189]

    除了两个点,均无自相关性。
    消除自相关的方法:迭代法、差分法、BOX-COX变换法等。
    DW检验法

    dw = durbin_watson(resid)
    print(dw)
    

    结果:1.8608933684548286
    在0-2区间内,无关联性。
    异常值
    异常或极端值引起较大残差,影响回归拟合的效果。
    成因:数据录入错误,测量错误,数据随机误差,缺少重要自变量,缺少观察数据,存在异方差,模型错误。
    一般认为超过±3方差即为异常值。
    本文代码: https://github.com/zwdnet/MyQuant/tree/master/17

    我发文章的四个地方,欢迎大家在朋友圈等地方分享,欢迎点“在看”。
    我的个人博客地址:https://zwdnet.github.io
    我的知乎文章地址: https://www.zhihu.com/people/zhao-you-min/posts
    我的博客园博客地址: https://www.cnblogs.com/zwdnet/
    我的微信个人订阅号:赵瑜敏的口腔医学学习园地

  • 相关阅读:
    使用SSH密钥方式登录ubuntu Linux,指令(ssh-keygen 和 ssh-copy-id)
    显示、更改ubuntu linux主机名(计算机名)
    如何在VMware ubuntu linux虚拟机中安装VMware tools
    VMware bridge 桥接方式连接internet
    在STEP7 TIA PORTAL中,设置模块的地址和设备名(Device name)
    查看linux网卡硬件名称
    Ubuntu linux安装putty
    Linux修改文件permission可执行属性
    在windows中,使用SSH登录VMware ubuntu linux虚拟机
    单选,复选操作div,显示隐藏
  • 原文地址:https://www.cnblogs.com/zwdnet/p/12318079.html
Copyright © 2011-2022 走看看