回复:具有两个相关变量的时间序列预测一些澄清的问题,我会提供一些建议:
1. 你是想预测团体总支出还是人均支出?
2. 你有 x 和 y 年龄在 40 - 60 到 70 到 80 岁之间的历史数据吗?
3. 你是想建立一个预测模型还是解释模型?
还有一个建模思想......使用像这样的分组 x 变量,而我不反对使用拟合模型,或者任何时间序列建模选项可能是有价值的......我正在考虑一种非线性建模方法,如分区也可能有用? 我一直支持尝试许多明显不同的建模方法,看看哪种方法最适合手头的实际问题。
回复:具有两个相关变量的时间序列预测感谢您的回复!
(a) 该组的总支出是我所追求的(尽管每个年龄段内的人均支出也很有用)
(b) 我有所有的历史数据——但更棘手的是,在较年轻的成年人中,医疗保健的负担在这些范围内相当平坦。 但超过 65-70,它会呈指数级增长。 因此,当人口激增达到该年龄段时,总支出将急剧增加。
(c) 预测性——试图估计未来的医疗保健成本
关于非线性——我的历史数据只能追溯到 20 年前(所以 20 行),所以我认为我的数据集不够大,无法处理用于验证非线性模型的数据
谢谢!
回复:具有两个相关变量的时间序列预测好的...这是我古怪的想法,但希望其他人能参与进来。 如果我了解您收集的数据的性质,您可以按人均计算响应“平坦”部分中年龄组的支出……然后观察每个组在这些年中的进展并计算他们的人均支出超过 65 - 70 岁的人均支出……如果您愿意推断婴儿潮时期的人均支出,您可以通过将人均乘以估计的总人口来计算总支出。 如果这有任何意义?
显然,像这样的长期预测充满了未知数。 护理方面的新进展/标准。 像 COVID 这样的“特殊原因”,或长期的人口与人口差异。 例如……我敢打赌,20 年前 70 岁以上年龄组中长期吸烟者的比例比今天大得多。 或者天堂禁止美国政府做一些激烈的事情,比如对医疗保险等社会计划进行大规模结构性改革,这将极大地影响美国医疗保健系统的内容和报酬。
在我的工业生涯中,我一直喜欢研究这样的问题......我是前雇主的财务小组的一员,我们对就业,收入,税收等宏观经济现象进行长期预测。如果George Box 的名言“所有模型都是错误的……有些是有用的……”曾经有一个领域是典型的应用领域。
回复:具有两个相关变量的时间序列预测我要添加一个“错误的”模型@P_Bartell说。
时间序列平台中有一种模型,称为“传递函数模型”。 它将响应时间序列建模为一个或多个输入时间序列的函数。 在您的示例中,“支出”似乎是一个响应时间序列,而“人口”似乎是一个输入时间序列。
查看这两个可能有用的资源:文档和谈话.
对我来说,不清楚“按年龄段分组的时间序列”是什么意思。 您是否有针对各个年龄段的多个年度“支出”系列。 即你有 60 岁年龄组的年度支出,不管每年 59 岁的人搬进来,69 岁的人搬出去。 以此类推 50 岁年龄组等。与此同时,您每年都有 60 岁年龄组的人口统计。 而且计数不在同一个队列中,因为 59 人搬进来,69 人搬出去。 如果我描述的是这样的话,你的系列就相当多了。
或者,您的“支出”系列没有按年龄细分。 然后你有一个响应系列和多个输入系列。不是你说的一个输入系列。 在这种情况下,“传递函数模型”有多个输入序列。 在此设置中,传递函数模型可以将任何时间点的响应建模为当前和/或先前输入和/或过去响应的加权和。
拥有模型后,您需要预测输入序列并反馈到模型中以预测未来的响应。 预测输入序列是一个单独的问题。 在这种情况下,按年龄组预测人口本身就是一个挑战。 在过去的几十年中,年龄组分布发生了很大变化。
该模型最后可能缺失的部分是经济序列@P_Bartell提及。 您可能需要考虑将这些系列添加为附加输入。 例如通货膨胀、宏观经济等。
回复:具有两个相关变量的时间序列预测非常感谢你们的所有建议和我需要考虑的所有事情。 为了帮助澄清,我上传了 jmp 表。 是的,模型需要考虑的因素太多了——出于本练习的目的,我只是想让它成为一个“不那么糟糕”的模型。 正如我所想的那样,也许是为了帮助简化事情,Peng 建议的想法是有一个响应系列(在这种情况下,NL total 代表总支出 - 拆分之前的所有列按年龄段计算)。 以下 20 列左右是年龄段和总人口)。 之后的列并不是真正必要的。 我想开始我的第一个问题是,在阅读和观看上面的文档和视频后,启动窗口中的“输入列表”到底是什么意思,它与从红色三角形下拉菜单中选择“传递函数”有何不同,正如我在“输入列表”中盲目放置一列时看到的那样,输出标题为“传递函数”。 我找不到任何帮助或视频中如何使用“输入列表”的示例,尽管它似乎确实适用于此问题。
再次感谢!
最好,
格雷格
回复:具有两个相关变量的时间序列预测你有 JMP Pro 吗? 如果是这样,您可能会使用 Functional Data Explorer (FDE) 来制作可用于进行预测的模型。 在附表中,我堆叠了数据(只保留了 NL 和 Population 列;没有保留 HC Expense 和 Canada 列)。 下面的屏幕截图显示了适合每个年龄组的费用模型,使用人口作为加权频率。 我不确定这正是您要找的东西,但在 FDE 平台中有许多不同的建模方法。 这是一条链接要么二FDE上的相关材料。

回复:具有两个相关变量的时间序列预测你的数据很有趣。 我会挑选一些东西并详细讨论。
第一,传递函数模型。 这是一个丰富的类模型。 你可能想看看关于这个主题的圣经时间序列分析,作者:George EP Box、Gwilym M. Jenkins、Gregory C. Reinsel。 我将使用您的数据子集包括一个介绍性版本;随附的。
该子集是 75-79 岁年龄组。 它有一个嵌入式脚本,适合一堆传递函数模型。 运行。 你应该看到下表。 使用复选框逐一调出报告。 我将解释它们是什么。 (顺便说一句,我缩放了数据。 如果我使用原始数据,算法在某些情况下会因极值而出现问题。)

第一个模型,看公式图片。 它表示时间 t 的 Scaled NL 是一个截距,加上时间 t 的 Scaled Population 的加权值,再加上一个误差。 所以这只是一个简单的线性回归。 可以通过 X 平台使用 Fit Y 并获得相同的结果。

但是看看下面的残差图。 它表明,仍然存在无法解释的模式。

现在调出第二个模型,看看公式和残差。

该公式看起来仍然像回归。 但是 Scaled Population 的下标是 t-1。 该模型表示时间 t 的 Scaled NL 是常数、前一时间 t-1 的 Scaled Population 的加权值和误差的总和。 所以如果没有一些数据安排,这个模型将不会很容易地适应 Fit Y by X。 无论如何,根据 residual 的说法,这仍然不是一个好的模型。
现在调出第三个模型:

它的主要部分和第一个模型一样,是一个简单的回归,只是误差项看起来比较复杂。 当您熟悉该符号时,您将认识到该符号的意思是:时间 t 的 Scaled NL 涉及它在时间 t-1 的过去值。 总之,该模型表示:时间 t 的 Scaled NL 是常数、时间 t 的加权 Scaled Population、时间 t-1 的加权 Scaled NL 和误差项的总和。 所以我们有更复杂的模型。 看看残差图,明显的模式更少。
第 4 个模型类似,但使用了滞后的 Scaled Population。 该模型表示:时间 t 的 Scaled NL 是常数的总和,即时间的加权 Scaled Population t-1 、时间 t-1 处的加权 Scaled NL 和误差项。
第 5 和第 6 个模型变得更复杂,但没有必要。 但我将它们留在那里是为了让您了解事情会变得多么复杂。 这些例子仍然相当简单。
因此,总而言之,传递函数模型可以像简单的线性回归一样简单,也可以通过将响应表示为响应和输入序列值的历史值(和/或当前输入)的看似复杂的总和来变得更加复杂。
似乎至少有一个模型很适合这个子集。 让我使用第三个模型。 并查看“交互式预测”部分。

突出显示的标记是可拖动的。 如果你移动它们,它们应该是不言自明的。 但需要强调的是,底部框架中的标记代表未来的输入序列值。 如果您可以预测未来的输入值,则应将标记放在所需位置,顶部的输出框应显示响应序列的预测结果。 未来的输入值可以通过其他方式导入,我不会详细说明(图上方有一个按钮表明它的目的。)
所以上面是一个使用传递函数模型来分析和预测数据子集的例子。 但这没有道理吗? 对我来说,我不确定。 你的数据很丰富。 该模型非常适合这个子集。 但它并不适合所有子集。 我将把它留给你来总结。
我做了一个图来总结你的数据按年龄组的样子。 蓝线是按年龄组划分的 NL 系列。 红线是相应的人口系列。 所有 NL 系列都有上升趋势。 人口序列在 50 岁以下的年龄组中呈下降趋势;并且在 54 岁以上的人群中有上升趋势。 几个奇迹:
- 这张照片明年、后年等等会是什么样子?
- 如何解释 50-54 组的截止值? 以及如何解释年轻年龄组的 NL 和人口之间的相反趋势,但对于年龄较大的年龄组,它们之间的趋势相同。
- NL 系列结尾的摆动试图说明什么? 我觉得它们很有趣。

回复:具有两个相关变量的时间序列预测下面从不同的角度来看数据。
在第一行,每一帧都是 NL 与年龄组的关系图,历年。
在底行,每一帧都是多年来的人口与年龄组的关系图。

对我来说,这个图提供了关于什么正在改变什么没有改变的更一致的观点。
如果我将顶部的 21 帧作为一个整体来看,并将它们连续放在一个帧中,这让我想起了著名的航空公司乘客数据,其中季节性 ARIMA 模型是众所周知的。

回复:具有两个相关变量的时间序列预测再次非常感谢彭。 我开始更好地理解这一点,但有一件事仍然让我感到困惑。 使用您上传的文件和修改后的表格,除非我直接修改脚本并运行脚本,否则我无法重现您的结果。 我认为原因可能是由于潜在的错误(可能已解决 - 我目前使用的是 JMP 15,但很快就会升级到 17)或者我正在做一些非常愚蠢的事情。 但是,如果您查看随附的屏幕截图,顶部的框会变灰。 而且无论我做什么,我都无法输入延迟,除非我直接在脚本中更改它。 再次感谢您的帮助。
最好的祝福,
格雷格
回复:具有两个相关变量的时间序列预测请联系支持@jmp.com , @格雷格麦克马洪
我不记得这是否是一个问题。 我无法在 JMP15 或 JMP14 中重现它。 看起来显示不同步,数字编辑框与其标签对齐。 他们应该向上移动一排。
我能想到一个原因:列名。 JMP 的最新版本使用冒号、引号、名称、结束引号和“n”来表示带有破折号等不常见字符的列。

旧版本的 JMP 使用 Name 函数调用

我不确定您是如何修改脚本的,但我想您必须修改数据表中的脚本和列名才能使其在旧版本上运行。 我附上旧版本的更新数据表。 如果这个版本有效,那么我很确定问题出在列名上。 但如果您有任何疑问,请联系技术支持。 我很感激。
此外,在获得较新版本后,您想查看最近版本中添加的 Box-Cox 转换功能。
看启动时间序列

我能够拟合一个合理的季节性 ARIMA (1,0,1)(1,1,0)19 模型,其中 lambda = 0.2174

回复:具有两个相关变量的时间序列预测再次感谢彭。 它没有帮助,所以我写了一条带有附件的冗长消息来支持。 当我听到更多信息时,我会及时通知您。
最好的祝福,
格雷格
回复:具有两个相关变量的时间序列预测为你更新@格雷格麦克马洪- 您报告的问题已发送给 JMP Development,并在 JMP 的下一个主要版本 (JMP 18) 中进行了修复。 感谢您花时间详细报告问题;它有助于确定和找到正确的解决方案。
使用两个相关变量进行时间序列预测我确信在拟合模型、时间序列分析或时间序列预测中有一种方法可以做到这一点。 我有两个按年龄段分组的时间序列。 两栏是人口和医疗保健支出。 我可以对单独的数据进行一些预测建模,没有问题。 但是,我的40-60岁年龄段的人口激增,所以当他们进入70-80岁年龄段时,他们将导致医疗保健负担的增加,如果我只这样做的话,这是无法捕捉到的对支出栏本身的预测。
感谢您的建议,祝大家新年快乐!
最好的,
格雷格
高级统计建模