各位老师同学好,问个问题:
我想按组计算移动平均,看到stata 的movavg命令可以,原帖在这https://bbs.pinggu.org/thread-3154444-1-1.html
试了movavg帮助里的例子“ by rep78: movavg ma3lags_by = price, lags(3)”,
为什么从每组第四行就和我计算的不一致?贴下数据:
第一列是要平均的,第二列是分组,第三列是movavg的计算结果,第四列是我的计算结果(excel哈),最后列是两者差异
| price | rep78 | ma3lags_by | sum(:)/3 | diff |
| 4934 | 1 | 4934 | 4934 | 0 |
| 4195 | 1 | 4564.5 | 4564.5 | 0 |
| 5104 | 2 | 5104 | 5104 | 0 |
| 6342 | 2 | 5723 | 5723 | 0 |
| 3667 | 2 | 5037.667 | 5037.666667 | 0.000333333 |
| 4060 | 2 | 3517.25 | 4689.666667 | -1172.416667 |
| 14500 | 2 | 5556.75 | 7409 | -1852.25 |
| 4010 | 2 | 5642.5 | 7523.333333 | -1880.833333 |
| 4172 | 2 | 5670.5 | 7560.666667 | -1890.166667 |
| 5886 | 2 | 3517 | 4689.333333 | -1172.333333 |
| 6165 | 3 | 6165 | 5407.666667 | 757.3333333 |
| 4733 | 3 | 5449 | 5594.666667 | -145.6666667 |
| 15906 | 3 | 8934.667 | 8934.666667 | 0.000333333 |
| 4482 | 3 | 6280.25 | 8373.666667 | -2093.416667 |
| 4296 | 3 | 6171 | 8228 | -2057 |
| 6295 | 3 | 3768.25 | 5024.333333 | -1256.083333 |
| 13594 | 3 | 6046.25 | 8061.666667 | -2015.416667 |
| 11497 | 3 | 7846.5 | 10462 | -2615.5 |
| 4504 | 3 | 7398.75 | 9865 | -2466.25 |
| 10372 | 3 | 6593.25 | 8791 | -2197.75 |
| 5222 | 3 | 5024.5 | 6699.333333 | -1674.833333 |
| 4647 | 3 | 5060.25 | 6747 | -1686.75 |
| 13466 | 3 | 5833.75 | 7778.333333 | -1944.583333 |
| 4082 | 3 | 5548.75 | 7398.333333 | -1849.583333 |
| 4723 | 3 | 5567.75 | 7423.666667 | -1855.916667 |
| 5172 | 3 | 3494.25 | 4659 | -1164.75 |
| 11385 | 3 | 5320 | 7093.333333 | -1773.333333 |
| 4749 | 3 | 5326.5 | 7102 | -1775.5 |
| 4181 | 3 | 5078.75 | 6771.666667 | -1692.916667 |
| 10371 | 3 | 4825.25 | 6433.666667 | -1608.416667 |
| 4187 | 3 | 4684.75 | 6246.333333 | -1561.583333 |
| 4516 | 3 | 4768.5 | 6358 | -1589.5 |
| 5189 | 3 | 3473 | 4630.666667 | -1157.666667 |
| 5788 | 3 | 3873.25 | 5164.333333 | -1291.083333 |
| 4816 | 3 | 3948.25 | 5264.333333 | -1316.083333 |
| 3291 | 3 | 3473.75 | 4631.666667 | -1157.916667 |
| 3895 | 3 | 3000.5 | 4000.666667 | -1000.166667 |
| 4099 | 3 | 2821.25 | 3761.666667 | -940.4166667 |
| 3299 | 3 | 2823.25 | 3764.333333 | -941.0833333 |
| 3955 | 3 | 2838.25 | 3784.333333 | -946.0833333 |
| 4389 | 4 | 4389 | 4389 | 0 |
| 4499 | 4 | 4444 | 4444 | 0 |
| 4697 | 4 | 4528.333 | 4528.333333 | -0.000333333 |
| 8814 | 4 | 4502.5 | 6003.333333 | -1500.833333 |
| 8129 | 4 | 5410 | 7213.333333 | -1803.333333 |
| 9735 | 4 | 6669.5 | 8892.666667 | -2223.166667 |
| 3995 | 4 | 5464.75 | 7286.333333 | -1821.583333 |
| 3829 | 4 | 4389.75 | 5853 | -1463.25 |
| 5705 | 4 | 3382.25 | 4509.666667 | -1127.416667 |
| 5379 | 4 | 3728.25 | 4971 | -1242.75 |
| 6229 | 4 | 4328.25 | 5771 | -1442.75 |
| 4890 | 4 | 4124.5 | 5499.333333 | -1374.833333 |
| 5079 | 4 | 4049.5 | 5399.333333 | -1349.833333 |
| 5798 | 4 | 3941.75 | 5255.666667 | -1313.916667 |
| 6850 | 4 | 4431.75 | 5909 | -1477.25 |
| 7140 | 4 | 4947 | 6596 | -1649 |
| 6303 | 4 | 5073.25 | 6764.333333 | -1691.083333 |
| 7827 | 4 | 5317.5 | 7090 | -1772.5 |
| 3748 | 5 | 3748 | 3748 | 0 |
| 4425 | 5 | 4086.5 | 4086.5 | 0 |
| 5397 | 5 | 4523.333 | 4523.333333 | -0.000333333 |
| 5799 | 5 | 3905.25 | 5207 | -1301.75 |
| 3798 | 5 | 3748.5 | 4998 | -1249.5 |
| 3984 | 5 | 3395.25 | 4527 | -1131.75 |
| 4589 | 5 | 3092.75 | 4123.666667 | -1030.916667 |
| 9690 | 5 | 4565.75 | 6087.666667 | -1521.916667 |
| 5719 | 5 | 4999.5 | 6666 | -1666.5 |
| 11995 | 5 | 6851 | 9134.666667 | -2283.666667 |
| 5899 | 5 | 5903.25 | 7871 | -1967.75 |
| 4424 | 4424 | 4424 | 0 | |
| 6486 | 5455 | 5455 | 0 | |
| 4453 | 5121 | 5121 | 0 | |
| 12990 | 5982.25 | 7976.333333 | -1994.083333 | |
| 3799 | 5310.5 | 7080.666667 | -1770.166667 |
我的公式是sum(price1)/1然后 sum(price1+price2)/2然后 sum(price1+price2+price3)/3 然后 sum(price2+price3+price4)/3.。。
不知道那个3517.25从哪里来的
怎么猜也猜不出来
请大家指点,
先在此谢过了!


雷达卡







京公网安备 11010802022788号







