问题描述
我有一个金融时间序列数据集。我需要进行滚动窗口相关,我可以在其中控制窗口大小、1 个因变量和 2 个或更多自变量。并且在更新数据历史时它需要是动态的。我也希望能够选择被抚养人。
我已经成功地进行了第一个动态关联,当我改变窗口大小的常数时我会改变
="Data!"&ADRESS($A11;MATCH(B$7;TitleArray;0))&":"&ADRESS($B$1+ROW(Data!$A$1);MATCH(B$$7;TitleArray;0))
单元格现在保存了第一个变量窗口中数据范围的地址
- 数据涉及我的数据集。
- $A11 是窗口的起始行号。可能需要亲戚?
- B$7 是一个带有我的因变量名称的单元格(我想知道这与其他几个 变量,但我需要能够在它们之间切换,这是依赖变量)
- TitleArray 是包含变量名称的范围的名称
- $B$1 是解释窗口大小的常量
- +ROW(Data!$A$1) 确保在我添加更多历史记录时进行调整
然后我只是将这个公式复制到旁边列中的下一个单元格,用 C7 替换 B7
然后,在一个新的单元格中,我以这种方式找到了两者之间的相关性:
CORRELATION(INDIRECT($o$16);INDIRECT(P16))
在这里,我对设置窗口的因变量和另一个变量进行了校正(我用 24 个月对其进行了测试)。
任何人都可以帮助我获得最后的步骤以扩展它以显示剩余历史记录的最后一个corr窗口吗?我想这应该很容易,但我似乎找不到正确的方法。我想我必须删除一些 $ 符号然后将其向下拖动,但是我会得到很多带有地址的行,然后是相关性。能否以更智能的方式制作?
如果缺少任何细节,请告诉我
谢谢!
解决方法
有点难以理解您的目标的具体细节,但这里有一种使用 OFFSET 的方法。
=CORRELATION( OFFSET( Data!$A$1; $A11-1; MATCH($B7;TitleArray;0 )-1; ($B$1+2-$A$11); 1 );
OFFSET( Data!$A$1; $A11-1; MATCH(C7;TitleArray;0 )-1; ($B$1+2-$A$11); 1 ) )
B7 是因变量的名称,C7 是自变量的名称。当您向右拖动此公式时,它会将 B7 与 C7 进行比较,然后是 D7,等等。
注意:我的操作系统是英文的,所以这是我机器上的工作版本,以防我在翻译中出错:
=CORREL( OFFSET( Data!$A$1,$A11-1,MATCH($B7,TitleArray,0 )-1,($B$1+2-$A$11),1 ),OFFSET( Data!$A$1,MATCH(C7,1 ) )
使用这种方法,您可以避免使用带有公式的辅助单元格:
="Data!"&ADDRESS($A11;MATCH(B$7;TitleArray;0))&":"&ADDRESS($B$1+ROW(Data!$A$1);MATCH(B$7;TitleArray;0))