SAS顺序回归(在Quandt的对数似然法中)

时间:2014-03-21 13:35:50

标签: sas regression

我在SAS Enterprise Guide 4.2中编码。 我正在尝试计算Quandt的对数似然比。但理解我的问题并不重要。

该比率基于连续回归。 即从1到t0的回归,其中1 <= t0 <= T且T是样本大小。 插图:

  • 首先对第一次观察进行回归
  • 然后对前两个观察结果进行回归
  • 然后对前3次观察进行回归
  • ......等等

它还执行从t0 + 1到T的“正向回归”。 插图:

  • 首先对最后一次T-1观察进行回归
  • 然后对最后的T-2观察进行回归
  • 然后对最后的T-3观察进行回归
  • ......等等

回归是普通的最小二乘回归。

在执行回归之后,将残差的平方相加。

所以这就是我需要的。 对于每个观察t0我想:

  • 从1到t0执行OLS回归并总结残差的平方
  • 从t0 + 1到T进行OLS回归并总结残差的平方

数据由一个组变量,一个因变量和一个自变量组成。 应该按组变量进行计算(但这不应该太困难)。

我自己能够完成这项任务的一部分,但它非常无效,因为数据超过1,000,000,000次,观察效率非常重要

我还注意到,“autoreg”程序计算的CUSUM统计量也是基于顺序回归的,因此我怀疑这个功能在SAS中是可用的,但我还是找不到它。

我现在最努力的部分就是求和。 我想要总结的简单例子:

Input:
col1 col2
1     2
2     5
5     4
7     6

Output:
col3
2    =1*2
15   =1*5+2*5
32   =1*4+2*4+5*4
90   =1*6+2*6+5*6+7*6

有没有人遇到过类似的问题,或者对如何以有效的方式解决问题有任何想法? 欢迎提供所有帮助,如果不清楚,请随时让我澄清一下。

1 个答案:

答案 0 :(得分:0)

就总和而言,下面的内容应该有效(尽管您的输入数据集必须先按组排序)。

由于您要求的总和基本上是col2乘以每个组中col1的累积和,您可以使用retain语句来跟踪col1的总和,并按组处理重置每次数据步骤遇到新组时的累计和。

data output;
  retain cusum;
  set input;
  by group;
  if first.group then cusum = col1;
  else cusum = cusum + col1;
  col3 = cusum * col2;
  drop cusum;
run;
相关问题