如何计算回归系数并将其放入table的每一行
How to calculate regression coefficient and put it into each row of a table
我有一个 SQL 可以为每个客户创建他的历史的简短摘录。假设我感兴趣的列是 TIMESTAMP
和 PURCHASE VALUE
。我想为每个客户计算线性回归并将此值放入 table。
proc sql;
create table CUSTOMERHISTORY as
select
TIME_STAMP
,PURCHASE_VALUE
,CUSTOMER_ID
from <my data source>
;quit;
table比较大;如果 table 在计算之前不必加载到 RAM 中,那将是最好的。
我试过了
proc reg
data = CUSTOMERHISTORY;
model PURCHASE_VALUE=TIME_STAMP;
outest = OUTTABLE;
by CUSTOMER_ID;
但它从未向 OUTTABLE
写入任何内容。 (我在 http://support.sas.com/documentation/cdl/en/statug/63033/HTML/default/viewer.htm#statug_reg_sect007.htm 中找到参数 outest
)
根据您 link 的文档,outtest
是一个参数,您应该将其作为 proc reg
的选项提供。因此,要获得该特定输出,您的代码应如下所示:
proc reg
data = CUSTOMERHISTORY
outest = OUTTABLE;
model PURCHASE_VALUE=TIME_STAMP;
by CUSTOMER_ID;
run;
注意data = ...
和outtest = ...
之间没有分号。
我有一个 SQL 可以为每个客户创建他的历史的简短摘录。假设我感兴趣的列是 TIMESTAMP
和 PURCHASE VALUE
。我想为每个客户计算线性回归并将此值放入 table。
proc sql;
create table CUSTOMERHISTORY as
select
TIME_STAMP
,PURCHASE_VALUE
,CUSTOMER_ID
from <my data source>
;quit;
table比较大;如果 table 在计算之前不必加载到 RAM 中,那将是最好的。
我试过了
proc reg
data = CUSTOMERHISTORY;
model PURCHASE_VALUE=TIME_STAMP;
outest = OUTTABLE;
by CUSTOMER_ID;
但它从未向 OUTTABLE
写入任何内容。 (我在 http://support.sas.com/documentation/cdl/en/statug/63033/HTML/default/viewer.htm#statug_reg_sect007.htm 中找到参数 outest
)
根据您 link 的文档,outtest
是一个参数,您应该将其作为 proc reg
的选项提供。因此,要获得该特定输出,您的代码应如下所示:
proc reg
data = CUSTOMERHISTORY
outest = OUTTABLE;
model PURCHASE_VALUE=TIME_STAMP;
by CUSTOMER_ID;
run;
注意data = ...
和outtest = ...
之间没有分号。