zoukankan      html  css  js  c++  java
  • 面板数据及其基本模型

    面板数据的定义

    在学习面板数据之前,我先介绍时间序列数据和截面数据的概念

    时间序列数据:

    时间序列数据是指对同一对象在不同时间连续观察所取得的数据。它着眼于研究对象在时间顺序上的变化,寻找空间(对象)历时发展的规律。利用时间序列作样本时,要注意几个问题:一是所选择的样本区间内经济行为的一致性问题;二是样本数据在不同样本点之间不可比,需要对原始数据进行调整,消除其不可比因素;三是样本观测值过于集中,因而时间序列数据不适宜于对模型中反映长期变化关系的结构参数的估计;四是模型随机误差的序列相关问题。
    **notes:两个关键词:同一个对象,不同时间,例如:2016-2018年上海市月度cpi同比数据。。

    截面数据:

    横截面数据是指在某一时点收集的不同对象的数据。它对应同一时点上不同空间(对象)所组成的一维数据集合,研究的是某一时点上的某种经济现象,突出空间(对象)的差异。横截面数据的突出特点就是离散性高。横截面数据体现的是个体的个性,突出个体的差异,通常横截面数据表现的是无规律的而非真正的随机变化。即计量经济学中所谓的“无法观测的异质性”。在分析横截面数据时,应主要注意两个问题:一是异方差问题,由于数据是在某一时期对个体或地域的样本的采集,不同个体或地域本身就存在差异;二是数据的一致性,主要包括变量的样本容量是否一致、样本的取样时期是否一致、数据的统计标准是否一致。
    **notes:某一时间 不同对象例如:上海市2016年7月cpi,gdp,ppi...

    面板数据:

    面板数据,即Panel Data,是截面数据与时间序列综合起来的一种数据资源。 在分析时,多用PanelData模型,故也被称为面板数据模型. 它可以用于分析各样本在时间序列上组成的数据的特征,它能够综合利用样本信息,通过模型中的参数,既可以分析个体之间的差异情况,又可以描述个体的动态变化特征。

    时间序列数据和截面数据的组合就是不同时间,不同对象的组合,这里我直接图吧,看得明白一些

    截取平时用的数据的一部分,自行领悟。。

    模型:我目前跑过的模型比较少

    主要有:混合模型,固定效用模型和随机效应模型,r语言做的模型不是很难,但是吧,数据处理起来是真的麻烦。。
    这里贴一点代码,就是R plm包的 使用方式。。可以自行查阅,这里给个地址,不是很难主要是,修改参数
    https://cran.r-project.org/web/packages/plm/plm.pdf

    pooling1_v5 <- plm(diff(CPI_YoY) ~ diff(log(M2)) + diff(r) + diff(log(GDP)) + diff(log(RE)) + 
                         diff(log(Res)), data=pdata, model= "pooling",index=c("ID", "Yr"),effect = "twoways")
    pooling1 <- plm(diff(CPI_YoY) ~ diff(log(M2)) + diff(r) + diff(log(GDP)) + 
                      diff(log(RE)) + diff(log(Res)) + diff(log(CI)), data=pdata, model= "pooling",index=c("ID", "Yr"),effect = "twoways")
    summary(pooling1)
    pooling1_2 <- coeftest(pooling1, vcovHC
             (pooling1, method = "arellano"))
    pooling1_v5_2 <- coeftest(pooling1_v5, vcovHC
             (pooling1_v5, method = "arellano"))
    pooling1_2
    

    Opt: "within", "random", "ht", "between", "pooling", "fd"

    Fixed effect

    pooling1_fixed <- plm(diff(CPI_YoY) ~ diff(log(M2)) + diff(r) + diff(log(GDP)) + 
                            diff(log(RE)) + diff(log(Res)) + diff(log(CI)), data=pdata, model= "within",index=c("ID", "Yr"),effect = "twoways")
    summary(pooling1)
    pooling1_2_fixed <- coeftest(pooling1, vcovHC
             (pooling1, method = "arellano"))
    

    Output

    library(stargazer)
    stargazer(pooling1,pooling1_2, pooling1_v5,
              pooling1_v5_2,pooling1_fixed,pooling1_2_fixed, type = "text")
    

    Model 2

    "arellano" - both heteroskedasticity and serial correlation. Recommended for fixed effects.

    pooling <- plm(diff(log(M2)) ~ diff(CPI_YoY) + diff(log(GDP)) + diff(r) + diff(log(RE)) + diff(log(Res)) + diff(log(CI)), data=pdata, model= "pooling",index=c("ID", "Yr"),effect = "twoways")
    pooling_2 <- coeftest(pooling, vcovHC
             (pooling, method = "arellano"))
    

    Fixed effect

    pooling_fixed <- plm(diff(log(M2)) ~ diff(CPI_YoY) + diff(log(GDP)) + diff(r) + diff(log(RE)) + diff(log(Res)) + diff(log(CI)), data=pdata, model= "within",index=c("ID", "Yr"),effect = "twoways")
    pooling_2_fixed <- coeftest(pooling, vcovHC
             (pooling, method = "arellano"))
    
    pooling_v5 <- plm(diff(log(M2)) ~ diff(CPI_YoY) + diff(log(GDP)) + diff(r) + diff(log(RE)) + diff(log(Res)), data=pdata, model= "pooling",index=c("ID", "Yr"),effect = "twoways")
    summary(pooling)
    pooling_v5_2 <- coeftest(pooling_v5, vcovHC
             (pooling_v5, method = "arellano"))
    

    Output

    stargazer(pooling,pooling_2,pooling_v5, pooling_v5_2, pooling_fixed,pooling_2_fixed,type = "text", 
              title = "Comparasions b/w pooling, pooling w/o CI and fixed effect")
    

    Model 3

    pooling3 <- plm(diff(r) ~ diff(log(M2)) + diff(CPI_YoY) + diff(log(GDP)) + diff(log(RE)) + diff(log(Res)) + diff(log(CI)), data=pdata, model= "pooling",index=c("ID", "Yr"),effect = "twoways")
    summary(pooling3)
    pooling3_2 <- coeftest(pooling3, vcovHC
             (pooling3, method = "arellano"))
    

    Fixed effect

    pooling3_fixed <- plm(diff(r) ~ diff(log(M2)) + diff(CPI_YoY) + diff(log(GDP)) + diff(log(RE)) + diff(log(Res)) + diff(log(CI)), data=pdata, model= "within",index=c("ID", "Yr"),effect = "twoways")
    summary(pooling3)
    pooling3_2_fixed <- coeftest(pooling3, vcovHC
             (pooling3, method = "arellano"))
    
    pooling3_v5 <- plm(diff(r) ~ diff(log(M2)) + diff(CPI_YoY) + diff(log(GDP)) + diff(log(RE)) + diff(log(Res)), data=pdata, model= "pooling",index=c("ID", "Yr"),effect = "twoways")
    pooling3_v5_2 <- coeftest(pooling3_v5, vcovHC
             (pooling3_v5, method = "arellano"))
    

    Output

    stargazer(pooling3,pooling3_2, pooling3_v5, pooling3_v5_2,pooling3_fixed,pooling3_2_fixed, type = "text")
    

    emmmm,我看到一个博主使用老友记演员表的方式说明了时间序列,截面数据和面板数据的区别,通俗易懂,地址放到这里了,有兴趣可以看一下
    很nice https://blog.csdn.net/secondlieutenant/article/details/79625694

    解释几个函数
    diff()是差分的,默认一阶差分

    log()这个常见,取对数

    stargazer这个函数就是整合结果到一个表中
    结果很美观
    学习包的地址:
    https://cran.r-project.org/web/packages/stargazer/stargazer.pdf

  • 相关阅读:
    软件工程第一周开课博客
    求数组的子数组之和的最大值
    学习进度_第二周
    当堂测试感受
    寒假生活体验
    家庭记账本七
    《人月神话》阅读笔记3
    家庭记账本六
    《人月神话》阅读笔记2
    寒假福利2
  • 原文地址:https://www.cnblogs.com/gaowenxingxing/p/11812407.html
Copyright © 2011-2022 走看看