Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R中的阈值分位数回归代码崩溃_R_Threshold - Fatal编程技术网

R中的阈值分位数回归代码崩溃

R中的阈值分位数回归代码崩溃,r,threshold,R,Threshold,我正在研究R中的两阶段阈值分位数回归模型,我的目标是在两个阶段估计简化形式方程(称为Rhoat)的阈值和结构方程(称为qhat)的阈值。在第一阶段,我通过分位数回归估计rhohat并获得拟合值。我在第二阶段使用这些拟合值来估计qhat。代码如下(感谢Bruce Hansen教授,我修改了他的代码): #************************************************************# #分位数回归。 qr.回归尝试一些较小值的计时: > system

我正在研究R中的两阶段阈值分位数回归模型,我的目标是在两个阶段估计简化形式方程(称为Rhoat)的阈值和结构方程(称为qhat)的阈值。在第一阶段,我通过分位数回归估计rhohat并获得拟合值。我在第二阶段使用这些拟合值来估计qhat。代码如下(感谢Bruce Hansen教授,我修改了他的代码):

#************************************************************#
#分位数回归。

qr.回归尝试一些较小值的计时:

> system.time({z = stqr_thresh_loop(n=10,reps=5)})
   user  system elapsed 
  0.612   0.000   0.615 
> system.time({z = stqr_thresh_loop(n=20,reps=5)})
   user  system elapsed 
  1.248   0.000   1.249 
> system.time({z = stqr_thresh_loop(n=40,reps=5)})
   user  system elapsed 
  2.740   0.000   2.743 
> system.time({z = stqr_thresh_loop(n=10,reps=10)})
   user  system elapsed 
  1.228   0.000   1.233 
> system.time({z = stqr_thresh_loop(n=10,reps=20)})
   user  system elapsed 
  2.465   0.000   2.472 
> system.time({z = stqr_thresh_loop(n=10,reps=40)})
   user  system elapsed 
  4.968   0.000   4.969 
这在经过的时间上看起来是很好的线性的,有n和reps。因此,n=200,reps=500的时间至少是n=20,reps=50的100倍,这(在我的系统上)大约是20分钟。你等了那么久吗


尝试从1:reps打印循环中的“i”值,以获得进度控制。

它是如何崩溃的,是否有错误消息?不幸的是,根本没有消息!没有什么!只是“程序没有响应”。真奇怪!谢谢这可能意味着您的程序陷入无限循环,或者迭代次数随着
n=200
reps=500
而变得非常大。下面是一些调试工具,可以让您开始使用:我首先看看您循环的参数值(例如
qn
)看看是否有大得离谱的值。您还可以包括一组print语句,以缩小程序的哪个部分(更具体地说是哪个循环)导致问题的范围。
> system.time({z = stqr_thresh_loop(n=10,reps=5)})
   user  system elapsed 
  0.612   0.000   0.615 
> system.time({z = stqr_thresh_loop(n=20,reps=5)})
   user  system elapsed 
  1.248   0.000   1.249 
> system.time({z = stqr_thresh_loop(n=40,reps=5)})
   user  system elapsed 
  2.740   0.000   2.743 
> system.time({z = stqr_thresh_loop(n=10,reps=10)})
   user  system elapsed 
  1.228   0.000   1.233 
> system.time({z = stqr_thresh_loop(n=10,reps=20)})
   user  system elapsed 
  2.465   0.000   2.472 
> system.time({z = stqr_thresh_loop(n=10,reps=40)})
   user  system elapsed 
  4.968   0.000   4.969