【问题标题】:Convert a monthly time series to a quarterly time series in SPSS在 SPSS 中将月度时间序列转换为季度时间序列
【发布时间】:2019-02-06 08:25:25
【问题描述】:

有人可以帮助我将月度时间序列转换为季度时间序列,还是应该加载季度数据以在 SPSS 中进行预测?

每月数据集具有多个变量以及年份和月份。 在季度数据集中,我希望变量“id”的第一个案例被每月数据集的第一个 3 个案例的平均值替换,季度数据集中的变量“id”的第二个案例必须等于第 4、5 个的平均值和每月数据集中相同变量的第 6 个案例,依此类推。这样做是为了创建一个季度数据集,然后将其用于预测分析。

请假设,所有变量都是比例变量(虽然名称不符合属性:P)

【问题讨论】:

  • 请添加一些示例数据和更多关于您正在尝试做什么的解释。结果数据的示例也将非常有帮助
  • 嘿,我已经编辑了我的问题以获得更多说明。
  • 您发布的示例不是很有帮助(我知道数据集的外观,想知道您的数据集的外观),但新的解释使其更清晰,将尝试回答

标签: time-series spss


【解决方案1】:

您想要的(如果我错了,请纠正我)是将每三个月的平均值创建为一个季度。所以首先我们将创建一个Quarter 变量,然后在聚合中使用:

compute Quarter=trunc((month-1)/3)+1.
* this can also be done like this: 
* recode month (1 2 3=1)(4 5 6=2)(7 8 9=3)(10 11 12=4) into Quarter.

dataset name byMonth.
dataset declare byQuarter.
aggregate /outfile=byQuarter /break=Year Quarter ...Other_grouping_variables ... 
        /var1 var2 ... your_scale_variables ....=mean(var1 var2 ...your_scale_variables...).
dataset activate byQuarter.

您现在有两个数据集 - 一个是按月计算的原始数据集,另一个是按季度计算的新数据集。

【讨论】:

  • 嘿,谢谢!我也用我的原始数据集和变量替换了 byMonth。运行此代码时,显示错误“Dataset byQuarter 没有数据”。知道为什么会发生这种情况吗?
  • 您当然必须将正确的变量放在代码中的正确位置。没有错误信息?把你的固定代码贴在这里,我看看
  • COMPUTE Quarter=TRUNC((MONTH_-1)/3)+1. EXECUTE. DATASET NAME KV. DATASET DECLARE byQuarter. AGGREGATE /OUTFILE='byQuarter' /BREAK=YEAR_ Quarter /KV.1 TO KV.126=MEAN(KV.1 TO KV.126). DATASET ACTIVATE byQuarter.
  • 这部分之前的语法中是否有select 命令,可能在聚合之前清空了数据集?计算后尝试freq quarter.,看看数据中是否确实存在案例。如果看起来没问题,我建议你用这个开始一个新问题
  • 没有select 命令,freq quarter 给出正确的输出。
猜你喜欢
  • 2018-08-30
  • 1970-01-01
  • 2014-07-03
  • 1970-01-01
  • 2016-11-16
  • 1970-01-01
  • 1970-01-01
  • 2021-01-24
  • 2018-06-23
相关资源
最近更新 更多