olsEx

语法

olsEx(ds, Y, X, [intercept=true], [mode=0])

详情

返回对 XY 计算普通最小二乘回归的结果。XY 是分布式表中的列。

注意:

  • 因为 olsEX 不支持输出残差,可以通过 residual 获取残差。

  • 该函数会将 XY 中的空值替换为0后进行计算。

参数

ds 是存储在元组中的数据源集合。它通常是由 sqlDS 函数生成。

Y 是一个字符串,表示 ds 表中因变量的列名。

X 是字符串标量或向量,表示 ds 表中自变量的列名。

intercept 是一个布尔变量,指示是否包含回归中的截距。默认值是true。当它为true时,系统自动给 X 添加一列 “1” 以生成截距。

mode 是一个整数,默认值为 0,取以下 3 个值之一

  • 0: 输出一个系数估计向量

  • 1: 输出一个具有系数估计,标准差,t统计量和p值的表

  • 2: 输出一个具有ANOVA(方差分析)、RegressionStat(回归统计)和Cofficient(系数)的字典,具体含义见下表:

键ANOVA对应值:

Source of Variance

自由度(Degree of freedom)

平方和(Sum of Square)

均方差(Mean of square)

F统计量

Significance

Regression(回归)

变量个数(p)

回归平方和(SSR)

回归均方差(MSR=SSR/R)

MSR对MSE的比值

显著性,即统计出的P值

Residual(残差)

残差自由度(n-p-1)

残差平方和(SSE)

残差均方差(MSE=MSE/E)

Total

样本自由度, 不包括常数项(n-1)

总离差平方和(SST)

键RegressionStat对应值:

item

统计值

R2

R决定系数,描述回归曲线对真实数据点拟合程度的统计量。范围在 [0,1]之间,越接近1 ,说明对y的解释能力越强,拟合越好。

AdjustedR2

经自由度修正后的决定系数,通过样本数量与模型数量对R-squared进行修正。

StdError

回归残差标准误差,残差经自由度修正后的标准差。

Observations

观察样本个数。

键Coefficient对应值:

元素

说明

factor

自变量名称

beta

回归系数估计值

stdError

回归系数标准误差。标准差越大,回归系数的估计值越不靠谱。

tstat

T统计值,衡量系数的统计显著性。

例子

$ n=10000
$ ID=rand(100, n)
$ dates=2017.08.07..2017.08.11
$ date=rand(dates, n)
$ vol=rand(1..10 join int(), n)
$ price=rand(100,n)
$ t=table(ID, date, vol,price)
$ saveText(t, "/home/DolphinDB/Data/t.txt");
$ if(existsDatabase("dfs://rangedb")){
$   dropDatabase("dfs://rangedb")
$ }
$ db = database(directory="dfs://rangedb", partitionType=RANGE, partitionScheme=0 51 101)
$ USPrices=loadTextEx(dbHandle=db,tableName=`USPrices, partitionColumns=`ID, filename="/home/DolphinDB/Data/t.txt");

$ ds=sqlDS(<select vol as VS, price as SBA from USPrices where vol>5>)
$ rs=olsEx(ds, `VS, `SBA, true, 2)
$ rs;

RegressionStat->
item         statistics
------------ ----------
R2           0.000848
AdjustedR2   0.000628
StdError     1.404645
Observations 4535

ANOVA->
Breakdown  DF   SS          MS       F        Significance
---------- ---- ----------- -------- -------- ------------
Regression 1    7.592565    7.592565 3.848178 0.049861
Residual   4533 8943.739298 1.973029
Total      4534 8951.331863

Coefficient->
factor    beta     stdError tstat      pvalue
--------- -------- -------- ---------- --------
intercept 7.953084 0.04185  190.039423 0
SBA       0.001422 0.000725 1.961677   0.049861