首页 > 其他分享 >R语言面板平滑转换回归(PSTR)分析案例实现|附代码数据

R语言面板平滑转换回归(PSTR)分析案例实现|附代码数据

时间:2023-05-18 23:46:10浏览次数:39  
标签:PSTR 语言 模型 平滑 ------------------------------------------------------------------

全文下载链接: http://tecdat.cn/?p=3765

最近我们被客户要求撰写关于PSTR的研究报告,包括一些图形和统计输出。

在本文中,建模过程包括三个阶段:表述,估计和评估,本文帮助用户进行模型表述、估计,进行PSTR模型评估 ( 点击文末“阅读原文”获取完整代码数据******** ) 。

在程序包中实现了集群依赖性和异方差性一致性检验。

还实现了wild bootstrap和cluster wild bootstrap检验。

并行计算(作为选项)在某些函数中实现,尤其是bootstrap检验。因此,该程序包适合在超级计算服务器上运行多个核心的任务。

数据

“Hansen99”数据集来提供示例。

初始化

可以通过执行创建PSTR类的新对象

 
 #> Summary of the model:
#> ---------------------------------------------------------------------------
#>   time horizon sample size = 14,  number of individuals = 560
#> ---------------------------------------------------------------------------
#> Dependent variable:  inva
#> ---------------------------------------------------------------------------
#> Explanatory variables in the linear part:
#>   dt_75 dt_76 dt_77 dt_78 dt_79 dt_80 dt_81 dt_82 dt_83 dt_84 dt_85 dt_86 dt_87 vala debta cfa sales
#> ---------------------------------------------------------------------------
#> Explanatory variables in the non-linear part:
#>   vala debta cfa sales
#> ---------------------------------------------------------------------------
#> Potential transition variable(s) to be tested:
#>   vala
#> ###########################################################################
#> ***************************************************************************
#> Results of the linearity (homogeneity) tests:
#> ***************************************************************************
#> Sequence of homogeneity tests for selecting number of switches 'm':
#> ***************************************************************************
#> ###########################################################################

因变量是“inva”,第4列到第20列的数据中的变量是线性部分的解释变量,非线性部分中的解释变量是“indep_k”中的四个,潜在的转换变量是“vala”(Tobin的Q)。

以下代码执行线性检验

 #> ###########################################################################
#> ***************************************************************************
#> Results of the linearity (homogeneity) tests:
#> ---------------------------------------------------------------------------
#> LM tests based on transition variable 'vala'
#>   m  LM_X PV  LM_F PV HAC_X        PV HAC_F        PV
#>   1 125.3  0 28.99  0 30.03 4.819e-06 6.952 1.396e-05
#> ***************************************************************************
#> Sequence of homogeneity tests for selecting number of switches 'm':
#> ---------------------------------------------------------------------------
#> LM tests based on transition variable 'vala'
#>   m  LM_X PV  LM_F PV HAC_X        PV HAC_F        PV
#>   1 125.3  0 28.99  0 30.03 4.819e-06 6.952 1.396e-05
#> ***************************************************************************
#> ###########################################################################

可以看到函数“LinTest”获取PSTR对象“pstr”并返回结果。因为处理包中PSTR对象的函数通过添加新的atrributes来更新对象。当然可以创建新的PSTR对象来获取返回值,以便保存模型的不同设置的结果。

可以通过运行以下代码来执行wild bootstrap和wild cluster bootstrap。

估计

当确定要用于估计的转换变量时,在本例中为“inva”,可以估计PSTR模型

 print(pstr,"estimates")

默认情况下,使用“optim”方法“L-BFGS-B”,但可以通过更改优化方法进行估算

 print(pstr,"estimates")
#> ###########################################################################
 #> ###########################################################################
#> ***************************************************************************
#> Results of the PSTR estimation:
#> ---------------------------------------------------------------------------
#> Transition variable 'vala' is used in the estimation.
#> ---------------------------------------------------------------------------
#> Parameter estimates in the linear part (first extreme regime) are
#>        dt_75_0   dt_76_0   dt_77_0   dt_78_0  dt_79_0  dt_80_0   dt_81_0
#> Est  -0.002827 -0.007512 -0.005812 0.0003951 0.002464 0.006085 0.0004164
#> s.e.  0.002431  0.002577  0.002649 0.0027950 0.002708 0.002910 0.0029220
#>        dt_82_0   dt_83_0    dt_84_0  dt_85_0   dt_86_0   dt_87_0  vala_0
#> Est  -0.007802 -0.014410 -0.0009146 0.003467 -0.001591 -0.008606 0.11500
#> s.e.  0.002609  0.002701  0.0030910 0.003232  0.003202  0.003133 0.04073
#>       debta_0   cfa_0  sales_0
#> Est  -0.03392 0.10980 0.002978
#> s.e.  0.03319 0.04458 0.008221
#> ---------------------------------------------------------------------------
#> Parameter estimates in the non-linear part are
#>        vala_1 debta_1    cfa_1  sales_1
#> Est  -0.10370 0.02892 -0.08801 0.005945
#> s.e.  0.03981 0.04891  0.05672 0.012140
#> ---------------------------------------------------------------------------
#> Parameter estimates in the second extreme regime are
#>      vala_{0+1} debta_{0+1} cfa_{0+1} sales_{0+1}
#> Est    0.011300    -0.00500   0.02183    0.008923
#> s.e.   0.001976     0.01739   0.01885    0.004957
#> ---------------------------------------------------------------------------
#> Non-linear parameter estimates are
#>       gamma        c_1
#> Est  0.6299 -0.0002008
#> s.e. 0.1032  0.7252000
#> ---------------------------------------------------------------------------
#> Estimated standard deviation of the residuals is 0.04301
#> ***************************************************************************
#> ###########################################################################

还实现了线性面板回归模型的估计。

 print(pstr0,"estimates")
#> ###########################################################################
#> ## PSTR 1.2.4 (Orange Panel)
#> ###########################################################################
#> ***************************************************************************
#> A linear panel regression with fixed effects is estimated.
#> ---------------------------------------------------------------------------
#> Parameter estimates are
#>          dt_75     dt_76     dt_77    dt_78    dt_79    dt_80    dt_81
#> Est  -0.007759 -0.008248 -0.004296 0.002356 0.004370 0.008246 0.004164
#> s.e.  0.002306  0.002544  0.002718 0.002820 0.002753 0.002959 0.002992
#>          dt_82     dt_83    dt_84    dt_85    dt_86     dt_87     vala
#> Est  -0.005294 -0.010040 0.006864 0.009740 0.007027 0.0004091 0.008334
#> s.e.  0.002664  0.002678 0.003092 0.003207 0.003069 0.0030080 0.001259
#>          debta     cfa    sales
#> Est  -0.016380 0.06506 0.007957
#> s.e.  0.005725 0.01079 0.002412
#> ---------------------------------------------------------------------------
#> Estimated standard deviation of the residuals is 0.04375
#> ***************************************************************************
#> ###########################################################################

评估

可以基于估计的模型进行评估测试请注意,在“EvalTest”中,每次只有一个转换变量用于非线性测试。这与“LinTest”函数不同,后者可以采用多个转换变量。这就是为什么我将结果保存到新的PSTR对象“pstr1”而不是覆盖的原因。通过这样做,我可以在新对象中保存来自不同转换变量的更多测试结果。

iB = 5000
cpus = 50

## wild bootstrap time-varyint评估检验
pstr = WCB_TVTest(use=pstr,iB=iB,parallel=T,cpus=cpus)

## wild bootstrap异质性评估检验
pstr1 = WCB_HETest(use=pstr1,vq=pstr$mQ[,1],iB=iB,parallel=T,cpus=cpus)

请注意,评估函数不接受线性面板回归模型中返回的对象“pstr0”,因为评估测试是针对估计的PSTR模型设计的,而不是线性模型。

可视化

估算PSTR模型后,可以绘制估计的转换函数

图片

图片

还可以根据转换变量绘制系数曲线,标准误差和p值。


点击标题查阅往期内容

图片

R语言时变面板平滑转换回归模型TV-PSTR分析债务水平对投资的影响

图片

左右滑动查看更多

图片

01

图片

02

图片

03

图片

04

图片

图片

绘图plot_response,描述了PSTR模型的因变量和一些解释性变量。

我们可以看到,如果没有非线性,对变量的响应是一条直线。如果变量和转换变量是不同的,我们可以绘制曲面,z轴为响应,x轴和y轴为两个变量。如果变量和转换变量相同,则变为曲线。

我们通过运行来制作图表

图片

x轴上的数字看起来不太好,因为很难找到转折点的位置。

ggplot2软件包允许我们手动绘制数字。

图片

现在我们非常清楚地看到,大约0.5的转折点将曲线切割成两种状态,并且两种状态的行为完全不同。该图表是关于托宾Q对预期投资的滞后影响。低Q值公司(其潜力被金融市场评估为低)可能不太愿意改变他们未来的投资计划,或者可能会改变。


图片

本文摘选 《 R语言面板平滑转换回归(PSTR)分析案例实现 》 ,点击“阅读原文”获取全文完整资料。


点击标题查阅往期内容

R语言时变面板平滑转换回归模型TV-PSTR分析债务水平对投资的影响
面板平滑转换回归(PSTR)分析案例实现
R语言自适应平滑样条回归分析
R语言时间序列数据指数平滑法分析交互式动态可视化
R语言中的广义线性模型(GLM)和广义相加模型(GAM):多元(平滑)回归分析保险资金投资组合信用风险敞口
R语言预测人口死亡率:用李·卡特(Lee-Carter)模型、非线性模型进行平滑估计
基于R统计软件的三次样条和平滑样条模型数据拟合及预测
R语言实现CNN(卷积神经网络)模型进行回归数据分析
R语言中的多项式回归、B样条曲线(B-spline Curves)回归
R语言泊松Poisson回归模型分析案例
在R语言中实现Logistic逻辑回归
R语言用多项式回归和ARIMA模型预测电力负荷时间序列数据
R语言用逻辑回归、决策树和随机森林对信贷数据集进行分类预测
R语言机器学习实战之多项式回归
R语言自适应平滑样条回归分析
R语言区间数据回归分析
R语言逻辑回归和泊松回归模型对发生交通事故概率建模R语言线性回归和时间序列分析北京房价影响因素可视化案例
R语言惩罚logistic逻辑回归(LASSO,岭回归)高维变量选择的分类模型案例
R语言用标准最小二乘OLS,广义相加模型GAM ,样条函数进行逻辑回归LOGISTIC分类
R语言实现CNN(卷积神经网络)模型进行回归数据分析
R语言中实现广义相加模型GAM和普通最小二乘(OLS)回归
R语言中使用非凸惩罚函数回归(SCAD、MCP)分析前列腺数据
【视频】R语言实现CNN(卷积神经网络)模型进行回归数据分析
R语言ISLR工资数据进行多项式回归和样条回归分析
R语言中的多项式回归、局部回归、核平滑和平滑样条回归模型
R语言随机搜索变量选择SSVS估计贝叶斯向量自回归(BVAR)模型
R语言如何和何时使用glmnet岭回归
R语言基于线性回归的资本资产定价模型(CAPM)
Matlab马尔可夫区制转换动态回归模型估计GDP增长率
R语言MCMC:Metropolis-Hastings采样用于回归的贝叶斯估计

标签:PSTR,语言,模型,平滑,------------------------------------------------------------------
From: https://www.cnblogs.com/tecdat/p/17413638.html

相关文章

  • 云服务器重新安装宝塔控制面板
    云服务器重新安装宝塔控制面板第一步卸载已有的宝塔面板,并且备份好数据第二步给云服务器重新安装系统安装系统不会清除数据盘内容,安装好之后重新挂载数据盘即可使用第三步挂载数据盘第四步安装新的宝塔控制面板......
  • 宝塔面板删除文件后,磁盘占用比例显示一直没变化,可能是删除文件后缓存没有释放导致
    问题描述:linux磁盘空间太少,删除了不必要的文件和缓存后,宝塔面板磁盘使用率没变化,如下图: 解决方法:1.重启服务器2.登录linux界面:2.1、使用df-h和du-sh/*命令查看磁盘空间,查看磁盘情况 du-sh./查看的当前目录的总大小 du-sh./*查看的是当前目录下所有子文件与子......
  • 5大主流方案对比:MySQL千亿级数据线上平滑扩容实战
    转载于:https://mp.weixin.qq.com/s/DWUIy0Bt2Jw-lHRGm50cow1.五个方案1.1停机方案1.2停写方案1.3日志方案1.4双写方案(中小型数据)1.5平滑2N方案(大数据量)2. 平滑2N扩容方案实践2.1 实现应用服务级别的动态扩容2.2 实现数据库的秒级平滑2N扩容3.keepalived......
  • 4大特性看Huawei Cloud EulerOS为开发者带来平滑迁移体验
    摘要:本期《解密HuaweiCloudEulerOS算力释放技术》主题直播中,华为云DTSE技术布道师陆维迪通过剖析传统OS上云面临的性能,安全,弹性等问题,与开发者们分享HuaweiCloudEulerOS(简称“HCEOS”)在提升客户云上使用体验的核心优势和关键技术。本文分享自华为云社区《4大特性看Huawei......
  • 关于CentOS8出现“Error: Failed to download metadata for repo 'appstream': Cannot
    原因因为centOS8于2021年12月31日停止了源的服务,而现在时间是2023年,所以之前的方法都不行的原因所在(本质是源的问题)。 解决方法 cd/etc/yum.repos.dsed-i's/mirrorlist/#mirrorlist/g'/etc/yumrepos.d/CentOS-*sed-i's|#baseurl=http://mirror.centos.o......
  • Linux基础21 进程介绍, 进程监控状态ps, 进程相关命令pstree,pgrep,pidof, 动态进程监
    1.进程的管理:当我们运行一个程序,那么我们将该程序叫进程 进程线程协程 linux起服务会有给这个服务预分配的内存结构,windows没有 2.为什么要学进程管理?为了管理架构的服务 3.程序和进程的区别1)程序:开发写出来的代码,程序是永久存在的。 2)进程:它会随着程序的终止而销......
  • 宝塔面板使用域名访问管理
    宝塔面板默认使用IP地址+端口号进行访问管理,下面配置成通过域名进行访问,方便记忆。宝塔面板可以https网址访问,自己替换换了证书,让宝塔面板的证书与网站域名的SSL证书为同一个证书,网站证书续期即面板证书续期。一、记住几个地址(目的是把面板SSL证书地址修改为同域名的网站SSL证书......
  • 宝塔面板不显示云服务器上新挂的磁盘或数据盘?
    刚开始购买的云服务器选择的是40G的硬盘,后买由于数据量偏大,在服务器上新挂了一块100G的磁盘,但是宝塔面板还是无法显示,新购买的磁盘还是不能用,怎么解决?用putty连接服务器,或者使用其他工具连接也行,只要是ssh链接服务器就行,连接成功后执行下面命令:yuminstallwget-ywget-Oau......
  • 使用C++实现贝塞尔曲线算法平滑多边形
    定义一个函数来计算贝塞尔曲线的坐标,并使用循环来更新坐标。把坐标连接起来,就可以得到一个平滑的多边形。例如:可以使用贝塞尔曲线或B样条曲线来实现曲线平滑。这两种曲线都是由一组控制点构成的,并且可以通过调整控制点来调整曲线形状。贝塞尔曲线是一种由多个点组成的曲线,其中每......
  • 在input中如何禁止复制、粘贴、鼠标右键弹出面板选项
    主要事件右键弹出面板选项oncontextmenu复制oncopy粘贴onpaste原生input实现-禁止复制<inputoncopy="returnfalse"/>-禁止粘贴<inputonpaste="returnfalse"/>-禁止鼠标右键弹出面板选项<inputoncontextmenu="returnfalse"/>Rea......