楼主: xieyalong
4679 7

[问答] 如何利用语法命令采取先前移动平均进行预测 [推广有奖]

  • 0关注
  • 1粉丝

已卖:1229份资源

硕士生

61%

还不是VIP/贵宾

-

威望
0
论坛币
3323 个
通用积分
0.3600
学术水平
2 点
热心指数
8 点
信用等级
1 点
经验
1127 点
帖子
61
精华
0
在线时间
241 小时
注册时间
2008-9-1
最后登录
2022-4-18

楼主
xieyalong 发表于 2009-7-29 14:31:00 |AI写论文
400论坛币
如何利用语法命令采取先前移动平均进行预测

已知 2007年1月~2007年12月的销售量,要预测出2008年1月份的销售量。
要求1、采用语法命令,自动产生2008年1月份哪一个个案
       2、采用先前移动平均
       3、代码需简洁,至少比小弟简洁
  注:本人现在已经想出三种方法,但觉得不是很好,希望能够有高手帮忙小弟
    1、利用选择个案和数值替代,在原数据的基础上构造出另一个数据文件,然后利用 ADD FILES 加上去代码如下:


DATASET ACTIVATE 数据集1.
DATASET COPY
d.

DATASET ACTIVATE
d.

FILTER OFF.USE ALL.
SELECT IF (T=200601).
DATASET ACTIVATE
数据集1.
EXECUTE.
DATASET ACTIVATE d.
RECODE sales T (200601=200801) (ELSE=SYSMIS).
EXECUTE.
DATASET ACTIVATE 数据集1.
ADD FILES /FILE=*/FILE='d'. EXECUTE.
DATASET ACTIVATE 数据集1.
SORT CASES BY name(A) T(A).
然后在进行先前移动平均
2、另一种方法是做ARIMA 或者专家模型预测 或者 指数平滑等预测 ,产生出2008年1月的CASE 然后在先前移动平均

3、增加个案方法 python 方法
if you have python installed and SPSS 15 you could also do it this way:.
New File.
DATASET CLOSE all.


DATA LIST FREE /ID (F) Name(A10).
BEGIN DATA
1 Mueller
2 Huber
3 Kunz
END DATA.

BEGIN PROGRAM.
import spss
cur=spss.Cursor(accessType='a')
cur.SetValueNumeric('ID',4)
cur.SetValueChar('Name','Smith')
cur.CommitCase()
cur.SetValueNumeric('ID',5)
cur.SetValueChar('Name','Bissell')
cur.CommitCase()
cur.EndChanges()
cur.close()
END PROGRAM.

最佳答案

locus 查看完整内容

已发到邮箱
关键词:移动平均 installed activate dataset EXECUTE 预测 命令 语法 采取

沙发
locus 学生认证  发表于 2009-7-29 14:31:01
已发到邮箱
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
xieyalong + 1 + 1 + 1 内容不符

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

藤椅
xieyalong 发表于 2009-7-29 14:32:17
如何利用语法命令采取先前移动平均进行预测

板凳
xieyalong 发表于 2009-7-29 15:39:29
自己顶! 急

报纸
xieyalong 发表于 2009-7-30 08:32:41
再增加100个

地板
xieyalong 发表于 2009-7-30 08:40:39
求助版主!求助版主!

7
xieyalong 发表于 2009-7-30 11:16:56
第四种方法

DATASET ACTIVATE 数据集1.
IF  (T=200701) T1=T+100.
EXECUTE.
STRING  name1 (A48).
IF  (T=200701) name1=name.
EXECUTE.
VARSTOCASES
  /MAKE T FROM T T1
  /MAKE name FROM name name1
  /KEEP=sales
  /NULL=DROP.
SORT CASES  BY name.
SPLIT FILE LAYERED BY name.
SORT CASES BY name(A) T(A).
DATE M 1 12 Y 2006.
CREATE
  /sales_1=PMA(sales 3).

8
xieyalong 发表于 2009-7-30 14:26:41
请留言!!!!!!

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-26 23:38