wls
Syntax
wls(Y, X, W, [intercept=true], [mode=0])
Arguments
Y is a dependent variable.
X is an independent variable.
Y is a vector. X can be a matrix, table or tuple. When X is a matrix, if the number of rows is equal to the length of Y, each column of X is a factor. If the number of rows is not equal to the length of Y, but the number of columns is equal to the length of Y, each row of X is a factor.
W is a vector indicating the weight in which each element is a non-negative.
intercept (optional) is a Boolean variable that indicates whether to include the intercept in regression. The default value is true. When it is true, the system automatically adds a column of "1" to X to generate the intercept.
mode (optional) is an integer that could be 0, 1, or 2.
-
0: a vector of the coefficient estimates
-
1: a table with coefficient estimates, standard error, t-statistics, and p-value
-
2: a dictionary with all statistics
ANOVA (one-way analysis of variance)
Source of Variance | DF (degree of freedom) | SS (sum of square) | MS (mean of square) | F (F-score) | Significance |
---|---|---|---|---|---|
Regression | p | sum of squares regression, SSR | regression mean square, MSR=SSR/R | MSR/MSE | p-value |
Residual | n-p-1 | sum of squares error, SSE | mean square error, MSE=MSE/E | ||
Total | n-1 | sum of squares total, SST |
RegressionStat (Regression statistics)
Item | Description |
---|---|
R2 | R-squared |
AdjustedR2 | The adjusted R-squared corrected based on the degrees of freedom by comparing the sample size to the number of terms in the regression model. |
StdError | The residual standard error/deviation corrected based on the degrees of freedom. |
Observations | The sample size. |
Coefficient
Item | Description |
---|---|
factor | Independent variables |
beta | Estimated regression coefficients |
StdError | Standard error of the regression coefficients |
tstat | t statistic, indicating the significance of the regression coefficients |
Residual: the difference between each predicted value and the actual value.
Details
Return the result of an weighted-least-squares regression of Y on X.
Examples
x1=1 3 5 7 11 16 23
x2=2 8 11 34 56 54 100
y=0.1 4.2 5.6 8.8 22.1 35.6 77.2;
w=rand(10,7)
wls(y, x1, w)
// output
[-17.6177 4.0016]
wls(y, (x1,x2), w);
// output
[-17.4168 3.0481 0.2214]
wls(y, (x1,x2), w, 1, 1);
factor | beta | stdError | tstat | pvalue |
---|---|---|---|---|
Intercept | -17.4168 | 4.8271 | -3.6081 | 0.0226 |
x1 | 3.0481 | 1.6232 | 1.8779 | 0.1336 |
x2 | 0.2214 | 0.3699 | 0.5986 | 0.5817 |
wls(y, (x1,x2), w,1, 2);
// output
Coefficient->
factor beta stdError tstat pvalue
--------- --------- -------- --------- --------
intercept -10.11392 4.866583 -2.078239 0.106234
x1 3.938138 2.061191 1.910613 0.128655
x2 -0.088542 0.446667 -0.198227 0.852534
Residual->[6.452866,3.207839,-3.002812,-5.642629,-6.147264,-12.515038,5.590914]
RegressionStat->
item statistics
------------ ----------
R2 0.957998
AdjustedR2 0.936997
StdError 17.172833
Observations 7
ANOVA->
Breakdown DF SS MS F Significance
---------- -- ------------ ------------ --------- ------------
Regression 2 26905.306594 13452.653297 45.616718 0.001764
Residual 4 1179.624835 294.906209
Total 6 28084.931429
x=matrix(1 4 8 2 3, 1 4 2 3 8, 1 5 1 1 5);
w=rand(8,5)
wls(1..5, x,w,0,1);
factor | beta | stdError | tstat | pvalue |
---|---|---|---|---|
beta0 | 0.0026 | 1.4356 | 0.0018 | 0.9988 |
beta1 | -1 | 1.2105 | -0.8261 | 0.5605 |
beta2 | 0.4511 | 0.5949 | 0.7582 | 0.587 |
beta3 | 1.687 | 1.7389 | 0.9701 | 0.5097 |