作者hugh23715 (Moehong)
看板Statistics
标题[程式] SAS PROC IML
时间Tue May 14 13:07:41 2013
------------------------------------------------------------------------
[软体程式类别]:
SAS
[程式问题]:
PROC IML 回圈
[软体熟悉度]:
低(1~3个月)
[问题叙述]:
目前已经把程式内起始B值之SSA算出,但需要改变K次的B值计算出K次的SSA,
问题点就是不知道如何把B值当做SCALE来做运算。
我这样K次的写法错误都会发生在A[i]=T[i]-B[k]*N[i];这里反而矩阵乘法错误
那麽要如何将B值做K次的运算
[程式范例]:
USE A1;
READ ALL VAR{"DAYS" "TEMP"};
B=1.84;
T= TEMP;
N= DAYS;
A=j(nrow(T),1, .);
DO k=1 to k by 1;
k=k+1;
B[k]=B[k-1]+0.1;
DO i= 1 to nrow(T);
A[i]=T[i]-B[k]*N[i];
Abar=(sum(A))/nrow(T);
SSA=sum(A[i]-Abar)**2;
END;
END;
-----------------------------------------------------------------------------
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.120.232.23
1F:→ bbearh:k=1 to k有错,k=k+1也不对会让DOK的行为不对. B的用法, 看 05/19 23:38
2F:→ bbearh:不用 array [], 你要的用法只用B就行, B=B+0.1; [k]拿掉. 05/19 23:40