Stata中ARIMA模型观测值不足报错的解决方法咨询
Stata ARIMA模型报错“insufficient observations”的解决方法
问题说明
我要在Stata里构建月度自回归时间序列模型,分析avg_happy是否随output变化,用了以下代码:
arima avg_happy, ar(1) ma(1)
但即使删掉部分缺失观测,还是报错:
(note: insufficient memory or observations to estimate usual starting values [2]) insufficient observations
数据示例
* Example generated by -dataex-. For more info, type help dataex clear input double date float(output avg_happy) str6 country 1552 0 0 "France" 1595 0 .12514286 "France" 1626 0 .1898 "France" 1697 0 .06636364 "France" 1707 0 .07551724 "France" 1725 0 .15442307 "France" 1740 0 .15208332 "France" 1761 0 .11060607 "France" 1767 0 .07891892 "France" 1785 0 .10645833 "France" 1801 0 .14339286 "France" 1819 0 .07742424 "France" 1840 0 .16685714 "France" 1858 0 .20857143 "France" 1870 0 .07963637 "France" 1881 0 .1796923 "France" 1901 0 .09269842 "France" 1913 0 .1825 "France" 1962 0 .11526316 "France" 1972 0 .10245614 "France" 1979 0 .1946667 "France" 1989 0 .167541 "France" 2002 0 .1596875 "France" 2016 0 .146 "France" 2023 0 .11526316 "France" 2045 0 .0768421 "France" 2055 0 .22160715 "France" 2065 0 .15531915 "France" 2068 0 .0768421 "France" 2077 0 .02607143 "France" 2087 0 .0931915 "France" 2110 0 .14847457 "France" 2118 0 .06083333 "France" 2156 0 .07423729 "France" 2188 0 .10265625 "France" 2194 0 .12807018 "France" 2204 .0041370597 .10645833 "France" 2215 0 .28175437 "France" 2225 0 .1636207 "France" 2233 0 .15208332 "France" 2244 0 .26404256 "France" 2254 0 .1946667 "France" 2264 0 .28895834 "France" 2274 .007244105 .2019149 "France" 2285 0 .16946428 "France" 2294 0 .2053125 "France" 2307 0 .1932353 "France" 2316 0 .16387755 "France" 2324 0 .13978724 "France" 2367 0 .19367346 "France" 2372 0 .27872726 "France" 2381 0 . "France" 2382 0 .26756355 "France" 2389 0 .17085107 "France" 2396 0 .2830612 "France" 2400 0 .24333334 "France" 2406 0 .16649123 "France" 2415 0 .2174468 "France" 2428 0 .1798551 "France" 2433 0 .186383 "France" 2444 .005748244 .1855932 "France" 2454 0 .1361017 "France" 2463 0 .146 "France" 2468 0 .11108695 "France" 2477 0 .11918367 "France" 2508 0 .1361017 "France" 2531 0 .17929825 "France" 2541 0 .1871795 "France" 2554 0 . "France" 2555 0 .1970552 "France" 2561 0 .28565216 "France" 2577 0 .17456523 "France" 2589 .00506966 .27375 "France" 2602 0 .24333334 "France" 2616 0 .19770834 "France" 2622 0 .15869565 "France" 2633 0 .09605263 "France" 2640 0 .2329787 "France" 2651 0 .17756757 "France" 2657 0 .14129032 "France" 2672 0 .15927273 "France" 2700 0 .21291666 "France" 2728 0 .1883871 "France" 2735 0 .2555 "France" 2749 0 . "France" 2750 0 .22420147 "France" 2761 0 .31465515 "France" 2769 0 .1825 "France" 2775 0 .1795082 "France" 2782 .011836817 .13518518 "France" 2798 0 .25131148 "France" 2811 0 .167541 "France" 2815 0 .10814815 "France" end
解决步骤
1. 修复时间序列格式
你的date变量不是Stata识别的标准时间格式,且观测存在大量时间断档(比如1913到1962间隔49年),这会导致模型无法识别连续时序。先转换并声明时间序列:
* 假设date是从1960年1月开始的月份数,根据实际含义调整基准 gen monthly_date = ym(1960 + floor((date-1)/12), mod(date-1,12)+1) format monthly_date %tm sort monthly_date tsset monthly_date
2. 正确纳入自变量
你要分析avg_happy与output的关系,当前代码没加自变量,应该用ARIMAX模型:
arima avg_happy output, ar(1) ma(1)
3. 清理缺失值
彻底删除含缺失值的观测,避免模型自动排除过多样本:
drop if missing(avg_happy, output)
4. 简化模型或调整时序
如果清理后样本仍不足,先尝试更简单的模型验证:
arima avg_happy output, ar(1)
若数据断档无法修复,可考虑拆分时间段分析,或改用动态面板类模型(需补充其他假设)。
内容的提问来源于stack exchange,提问作者daviddupont
相关产品推荐
相关产品推荐

