Минимизация среднеквадратической ошибки

In statistics and signal processing, a minimum mean square error (MMSE) estimator is an estimation method which minimizes the mean square error (MSE), which is a common measure of estimator quality, of the fitted values of a dependent variable. In the Bayesian setting, the term MMSE more specifically refers to estimation with quadratic loss function. In such case, the MMSE estimator is given by the posterior mean of the parameter to be estimated. Since the posterior mean is cumbersome to calculate, the form of the MMSE estimator is usually constrained to be within a certain class of functions. Linear MMSE estimators are a popular choice since they are easy to use, easy to calculate, and very versatile. It has given rise to many popular estimators such as the Wiener–Kolmogorov filter and Kalman filter.

Motivation[edit]

The term MMSE more specifically refers to estimation in a Bayesian setting with quadratic cost function. The basic idea behind the Bayesian approach to estimation stems from practical situations where we often have some prior information about the parameter to be estimated. For instance, we may have prior information about the range that the parameter can assume; or we may have an old estimate of the parameter that we want to modify when a new observation is made available; or the statistics of an actual random signal such as speech. This is in contrast to the non-Bayesian approach like minimum-variance unbiased estimator (MVUE) where absolutely nothing is assumed to be known about the parameter in advance and which does not account for such situations. In the Bayesian approach, such prior information is captured by the prior probability density function of the parameters; and based directly on Bayes theorem, it allows us to make better posterior estimates as more observations become available. Thus unlike non-Bayesian approach where parameters of interest are assumed to be deterministic, but unknown constants, the Bayesian estimator seeks to estimate a parameter that is itself a random variable. Furthermore, Bayesian estimation can also deal with situations where the sequence of observations are not necessarily independent. Thus Bayesian estimation provides yet another alternative to the MVUE. This is useful when the MVUE does not exist or cannot be found.

Definition[edit]

Let x be a ntimes 1 hidden random vector variable, and let y be a mtimes 1 known random vector variable (the measurement or observation), both of them not necessarily of the same dimension. An estimator {hat {x}}(y) of x is any function of the measurement y. The estimation error vector is given by e={hat {x}}-x and its mean squared error (MSE) is given by the trace of error covariance matrix

{displaystyle operatorname {MSE} =operatorname {tr} left{operatorname {E} {({hat {x}}-x)({hat {x}}-x)^{T}}right}=operatorname {E} {({hat {x}}-x)^{T}({hat {x}}-x)},}

where the expectation operatorname {E} is taken over x conditioned on y. When x is a scalar variable, the MSE expression simplifies to {displaystyle operatorname {E} left{({hat {x}}-x)^{2}right}}. Note that MSE can equivalently be defined in other ways, since

{displaystyle operatorname {tr} left{operatorname {E} {ee^{T}}right}=operatorname {E} left{operatorname {tr} {ee^{T}}right}=operatorname {E} {e^{T}e}=sum _{i=1}^{n}operatorname {E} {e_{i}^{2}}.}

The MMSE estimator is then defined as the estimator achieving minimal MSE:

{displaystyle {hat {x}}_{operatorname {MMSE} }(y)=operatorname {argmin} _{hat {x}}operatorname {MSE} .}

Properties[edit]

  • When the means and variances are finite, the MMSE estimator is uniquely defined[1] and is given by:
{displaystyle {hat {x}}_{operatorname {MMSE} }(y)=operatorname {E} {xmid y}.}
In other words, the MMSE estimator is the conditional expectation of x given the known observed value of the measurements. Also, since {displaystyle {hat {x}}_{mathrm {MMSE} }} is the posterior mean, the error covariance matrix C_{e}is equal to the posterior covariance {displaystyle C_{X|Y}} matrix,

{displaystyle C_{e}=C_{X|Y}}.
  • The MMSE estimator is unbiased (under the regularity assumptions mentioned above):
{displaystyle operatorname {E} {{hat {x}}_{operatorname {MMSE} }(y)}=operatorname {E} {operatorname {E} {xmid y}}=operatorname {E} {x}.}
  • The MMSE estimator is asymptotically unbiased and it converges in distribution to the normal distribution:
{displaystyle {sqrt {n}}({hat {x}}_{operatorname {MMSE} }-x)xrightarrow {d} {mathcal {N}}left(0,I^{-1}(x)right),}
where I(x) is the Fisher information of x. Thus, the MMSE estimator is asymptotically efficient.
{displaystyle operatorname {E} {({hat {x}}_{operatorname {MMSE} }-x)g(y)}=0}
for all g(y) in closed, linear subspace {displaystyle {mathcal {V}}={g(y)mid g:mathbb {R} ^{m}rightarrow mathbb {R} ,operatorname {E} {g(y)^{2}}<+infty }} of the measurements. For random vectors, since the MSE for estimation of a random vector is the sum of the MSEs of the coordinates, finding the MMSE estimator of a random vector decomposes into finding the MMSE estimators of the coordinates of X separately:

{displaystyle operatorname {E} {(g_{i}^{*}(y)-x_{i})g_{j}(y)}=0,}
for all i and j. More succinctly put, the cross-correlation between the minimum estimation error {displaystyle {hat {x}}_{operatorname {MMSE} }-x} and the estimator {hat {x}} should be zero,

{displaystyle operatorname {E} {({hat {x}}_{operatorname {MMSE} }-x){hat {x}}^{T}}=0.}

Linear MMSE estimator[edit]

In many cases, it is not possible to determine the analytical expression of the MMSE estimator. Two basic numerical approaches to obtain the MMSE estimate depends on either finding the conditional expectation {displaystyle operatorname {E} {xmid y}} or finding the minima of MSE. Direct numerical evaluation of the conditional expectation is computationally expensive since it often requires multidimensional integration usually done via Monte Carlo methods. Another computational approach is to directly seek the minima of the MSE using techniques such as the stochastic gradient descent methods ; but this method still requires the evaluation of expectation. While these numerical methods have been fruitful, a closed form expression for the MMSE estimator is nevertheless possible if we are willing to make some compromises.

One possibility is to abandon the full optimality requirements and seek a technique minimizing the MSE within a particular class of estimators, such as the class of linear estimators. Thus, we postulate that the conditional expectation of x given y is a simple linear function of y, {displaystyle operatorname {E} {xmid y}=Wy+b}, where the measurement y is a random vector, W is a matrix and b is a vector. This can be seen as the first order Taylor approximation of {displaystyle operatorname {E} {xmid y}}. The linear MMSE estimator is the estimator achieving minimum MSE among all estimators of such form. That is, it solves the following the optimization problem:

{displaystyle min _{W,b}operatorname {MSE} qquad {text{s.t.}}qquad {hat {x}}=Wy+b.}

One advantage of such linear MMSE estimator is that it is not necessary to explicitly calculate the posterior probability density function of x. Such linear estimator only depends on the first two moments of x and y. So although it may be convenient to assume that x and y are jointly Gaussian, it is not necessary to make this assumption, so long as the assumed distribution has well defined first and second moments. The form of the linear estimator does not depend on the type of the assumed underlying distribution.

The expression for optimal b and W is given by:

b={bar {x}}-W{bar {y}},
W=C_{XY}C_{Y}^{-1}.

where {displaystyle {bar {x}}=operatorname {E} {x}}, {displaystyle {bar {y}}=operatorname {E} {y},} the C_{{XY}} is cross-covariance matrix between x and y, the C_{{Y}} is auto-covariance matrix of y.

Thus, the expression for linear MMSE estimator, its mean, and its auto-covariance is given by

{displaystyle {hat {x}}=C_{XY}C_{Y}^{-1}(y-{bar {y}})+{bar {x}},}
{displaystyle operatorname {E} {{hat {x}}}={bar {x}},}
C_{hat {X}}=C_{XY}C_{Y}^{-1}C_{YX},

where the C_{{YX}} is cross-covariance matrix between y and x.

Lastly, the error covariance and minimum mean square error achievable by such estimator is

C_{e}=C_{X}-C_{hat {X}}=C_{X}-C_{XY}C_{Y}^{-1}C_{YX},
{displaystyle operatorname {LMMSE} =operatorname {tr} {C_{e}}.}

Univariate case[edit]

For the special case when both x and y are scalars, the above relations simplify to

{displaystyle {hat {x}}={frac {sigma _{XY}}{sigma _{Y}^{2}}}(y-{bar {y}})+{bar {x}}=rho {frac {sigma _{X}}{sigma _{Y}}}(y-{bar {y}})+{bar {x}},}
{displaystyle sigma _{e}^{2}=sigma _{X}^{2}-{frac {sigma _{XY}^{2}}{sigma _{Y}^{2}}}=(1-rho ^{2})sigma _{X}^{2},}

where {displaystyle rho ={frac {sigma _{XY}}{sigma _{X}sigma _{Y}}}} is the Pearson’s correlation coefficient between x and y.

The above two equations allows us to interpret the correlation coefficient either as normalized slope of linear regression

{displaystyle left({frac {{hat {x}}-{bar {x}}}{sigma _{X}}}right)=rho left({frac {y-{bar {y}}}{sigma _{Y}}}right)}

or as square root of the ratio of two variances

{displaystyle rho ^{2}={frac {sigma _{X}^{2}-sigma _{e}^{2}}{sigma _{X}^{2}}}={frac {sigma _{hat {X}}^{2}}{sigma _{X}^{2}}}}.

When rho =0, we have {displaystyle {hat {x}}={bar {x}}} and {displaystyle sigma _{e}^{2}=sigma _{X}^{2}}. In this case, no new information is gleaned from the measurement which can decrease the uncertainty in x. On the other hand, when {displaystyle rho =pm 1}, we have {displaystyle {hat {x}}={frac {sigma _{XY}}{sigma _{Y}}}(y-{bar {y}})+{bar {x}}} and {displaystyle sigma _{e}^{2}=0}. Here x is completely determined by y, as given by the equation of straight line.

Computation[edit]

Standard method like Gauss elimination can be used to solve the matrix equation for W. A more numerically stable method is provided by QR decomposition method. Since the matrix C_{Y} is a symmetric positive definite matrix, W can be solved twice as fast with the Cholesky decomposition, while for large sparse systems conjugate gradient method is more effective. Levinson recursion is a fast method when C_{Y} is also a Toeplitz matrix. This can happen when y is a wide sense stationary process. In such stationary cases, these estimators are also referred to as Wiener–Kolmogorov filters.

Linear MMSE estimator for linear observation process[edit]

Let us further model the underlying process of observation as a linear process: y=Ax+z, where A is a known matrix and z is random noise vector with the mean {displaystyle operatorname {E} {z}=0} and cross-covariance C_{XZ}=0. Here the required mean and the covariance matrices will be

{displaystyle operatorname {E} {y}=A{bar {x}},}
C_{Y}=AC_{X}A^{T}+C_{Z},
C_{XY}=C_{X}A^{T}.

Thus the expression for the linear MMSE estimator matrix W further modifies to

W=C_{X}A^{T}(AC_{X}A^{T}+C_{Z})^{-1}.

Putting everything into the expression for {hat {x}}, we get

{hat {x}}=C_{X}A^{T}(AC_{X}A^{T}+C_{Z})^{-1}(y-A{bar {x}})+{bar {x}}.

Lastly, the error covariance is

C_{e}=C_{X}-C_{hat {X}}=C_{X}-C_{X}A^{T}(AC_{X}A^{T}+C_{Z})^{-1}AC_{X}.

The significant difference between the estimation problem treated above and those of least squares and Gauss–Markov estimate is that the number of observations m, (i.e. the dimension of y) need not be at least as large as the number of unknowns, n, (i.e. the dimension of x). The estimate for the linear observation process exists so long as the m-by-m matrix (AC_{X}A^{T}+C_{Z})^{-1} exists; this is the case for any m if, for instance, C_{Z} is positive definite. Physically the reason for this property is that since x is now a random variable, it is possible to form a meaningful estimate (namely its mean) even with no measurements. Every new measurement simply provides additional information which may modify our original estimate. Another feature of this estimate is that for m < n, there need be no measurement error. Thus, we may have C_{Z}=0, because as long as AC_{X}A^{T} is positive definite, the estimate still exists. Lastly, this technique can handle cases where the noise is correlated.

Alternative form[edit]

An alternative form of expression can be obtained by using the matrix identity

C_{X}A^{T}(AC_{X}A^{T}+C_{Z})^{-1}=(A^{T}C_{Z}^{-1}A+C_{X}^{-1})^{-1}A^{T}C_{Z}^{-1},

which can be established by post-multiplying by (AC_{X}A^{T}+C_{Z}) and pre-multiplying by (A^{T}C_{Z}^{-1}A+C_{X}^{-1}), to obtain

W=(A^{T}C_{Z}^{-1}A+C_{X}^{-1})^{-1}A^{T}C_{Z}^{-1},

and

C_{e}=(A^{T}C_{Z}^{-1}A+C_{X}^{-1})^{-1}.

Since W can now be written in terms of C_{e} as W=C_{e}A^{T}C_{Z}^{-1}, we get a simplified expression for {hat {x}} as

{hat {x}}=C_{e}A^{T}C_{Z}^{-1}(y-A{bar {x}})+{bar {x}}.

In this form the above expression can be easily compared with weighed least square and Gauss–Markov estimate. In particular, when C_{X}^{-1}=0, corresponding to infinite variance of the apriori information concerning x, the result W=(A^{T}C_{Z}^{-1}A)^{-1}A^{T}C_{Z}^{-1} is identical to the weighed linear least square estimate with C_{Z}^{-1} as the weight matrix. Moreover, if the components of z are uncorrelated and have equal variance such that C_{Z}=sigma ^{2}I, where I is an identity matrix, then W=(A^{T}A)^{-1}A^{T} is identical to the ordinary least square estimate.

Sequential linear MMSE estimation[edit]

In many real-time applications, observational data is not available in a single batch. Instead the observations are made in a sequence. One possible approach is to use the sequential observations to update an old estimate as additional data becomes available, leading to finer estimates. One crucial difference between batch estimation and sequential estimation is that sequential estimation requires an additional Markov assumption.

In the Bayesian framework, such recursive estimation is easily facilitated using Bayes’ rule. Given k observations, y_{1},ldots ,y_{k}, Bayes’ rule gives us the posterior density of x_{k} as

{displaystyle {begin{aligned}p(x_{k}|y_{1},ldots ,y_{k})&propto p(y_{k}|x,y_{1},ldots ,y_{k-1})p(x_{k}|y_{1},ldots ,y_{k-1})\&=p(y_{k}|x_{k})p(x_{k}|y_{1},ldots ,y_{k-1}).end{aligned}}}

The {displaystyle p(x_{k}|y_{1},ldots ,y_{k})} is called the posterior density, {displaystyle p(y_{k}|x_{k})} is called the likelihood function, and {displaystyle p(x_{k}|y_{1},ldots ,y_{k-1})} is the prior density of k-th time step. Here we have assumed the conditional independence of y_{k} from previous observations {displaystyle y_{1},ldots ,y_{k-1}} given x as

{displaystyle p(y_{k}|x_{k},y_{1},ldots ,y_{k-1})=p(y_{k}|x_{k}).}

This is the Markov assumption.

The MMSE estimate hat{x}_k given the k-th observation is then the mean of the posterior density {displaystyle p(x_{k}|y_{1},ldots ,y_{k})}. With the lack of dynamical information on how the state x changes with time, we will make a further stationarity assumption about the prior:

{displaystyle p(x_{k}|y_{1},ldots ,y_{k-1})=p(x_{k-1}|y_{1},ldots ,y_{k-1}).}

Thus, the prior density for k-th time step is the posterior density of (k-1)-th time step. This structure allows us to formulate a recursive approach to estimation.

In the context of linear MMSE estimator, the formula for the estimate will have the same form as before: {hat {x}}=C_{XY}C_{Y}^{-1}(y-{bar {y}})+{bar {x}}. However, the mean and covariance matrices of X and Y will need to be replaced by those of the prior density {displaystyle p(x_{k}|y_{1},ldots ,y_{k-1})} and likelihood {displaystyle p(y_{k}|x_{k})}, respectively.

For the prior density {displaystyle p(x_{k}|y_{1},ldots ,y_{k-1})}, its mean is given by the previous MMSE estimate,

{displaystyle {bar {x}}_{k}=mathrm {E} [x_{k}|y_{1},ldots ,y_{k-1}]=mathrm {E} [x_{k-1}|y_{1},ldots ,y_{k-1}]={hat {x}}_{k-1}},

and its covariance matrix is given by the previous error covariance matrix,

{displaystyle C_{X_{k}|Y_{1},ldots ,Y_{k-1}}=C_{X_{k-1}|Y_{1},ldots ,Y_{k-1}}=C_{e_{k-1}},}

as per by the properties of MMSE estimators and the stationarity assumption.

Similarly, for the linear observation process, the mean of the likelihood {displaystyle p(y_{k}|x_{k})} is given by {displaystyle {bar {y}}_{k}=A{bar {x}}_{k}=A{hat {x}}_{k-1}} and the covariance matrix is as before

{displaystyle {begin{aligned}C_{Y_{k}|X_{k}}&=AC_{X_{k}|Y_{1},ldots ,Y_{k-1}}A^{T}+C_{Z}=AC_{e_{k-1}}A^{T}+C_{Z}.end{aligned}}}.

The difference between the predicted value of Y_{k}, as given by {displaystyle {bar {y}}_{k}=A{hat {x}}_{k-1}}, and its observed value y_{k} gives the prediction error {displaystyle {tilde {y}}_{k}=y_{k}-{bar {y}}_{k}}, which is also referred to as innovation or residual. It is more convenient to represent the linear MMSE in terms of the prediction error, whose mean and covariance are {displaystyle mathrm {E} [{tilde {y}}_{k}]=0} and {displaystyle C_{{tilde {Y}}_{k}}=C_{Y_{k}|X_{k}}}.

Hence, in the estimate update formula, we should replace {bar {x}} and C_{X} by {displaystyle {hat {x}}_{k-1}} and {displaystyle C_{e_{k-1}}}, respectively. Also, we should replace {bar {y}} and C_{Y} by {displaystyle {bar {y}}_{k-1}} and {displaystyle C_{{tilde {Y}}_{k}}}. Lastly, we replace C_{{XY}} by

{displaystyle {begin{aligned}C_{X_{k}Y_{k}|Y_{1},ldots ,Y_{k-1}}&=C_{e_{k-1}{tilde {Y}}_{k}}=C_{e_{k-1}}A^{T}.end{aligned}}}

Thus, we have the new estimate as new observation y_{k} arrives as

{displaystyle {begin{aligned}{hat {x}}_{k}&={hat {x}}_{k-1}+C_{e_{k-1}{tilde {Y}}_{k}}C_{{tilde {Y}}_{k}}^{-1}(y_{k}-{bar {y}}_{k})\&={hat {x}}_{k-1}+C_{e_{k-1}}A^{T}(AC_{e_{k-1}}A^{T}+C_{Z})^{-1}(y_{k}-A{hat {x}}_{k-1})end{aligned}}}

and the new error covariance as

{displaystyle C_{e_{k}}=C_{e_{k-1}}-C_{e_{k-1}}A^{T}(AC_{e_{k-1}}A^{T}+C_{Z})^{-1}AC_{e_{k-1}}.}

From the point of view of linear algebra, for sequential estimation, if we have an estimate {hat {x}}_{1} based on measurements generating space Y_{1}, then after receiving another set of measurements, we should subtract out from these measurements that part that could be anticipated from the result of the first measurements. In other words, the updating must be based on that part of the new data which is orthogonal to the old data.

The repeated use of the above two equations as more observations become available lead to recursive estimation techniques. The expressions can be more compactly written as

{displaystyle W_{k}=C_{e_{k-1}}A^{T}(AC_{e_{k-1}}A^{T}+C_{Z})^{-1},}
{displaystyle {hat {x}}_{k}={hat {x}}_{k-1}+W_{k}(y_{k}-A{hat {x}}_{k-1}),}
{displaystyle C_{e_{k}}=(I-W_{k}A)C_{e_{k-1}}.}

The matrix W_{k} is often referred to as the Kalman gain factor. The alternative formulation of the above algorithm will give

{displaystyle C_{e_{k}}^{-1}=C_{e_{k-1}}^{-1}+A^{T}C_{Z}^{-1}A,}
{displaystyle W_{k}=C_{e_{k}}A^{T}C_{Z}^{-1},}
{displaystyle {hat {x}}_{k}={hat {x}}_{k-1}+W_{k}(y_{k}-A{hat {x}}_{k-1}),}

The repetition of these three steps as more data becomes available leads to an iterative estimation algorithm. The generalization of this idea to non-stationary cases gives rise to the Kalman filter. The three update steps outlined above indeed form the update step of the Kalman filter.

Special case: scalar observations[edit]

As an important special case, an easy to use recursive expression can be derived when at each k-th time instant the underlying linear observation process yields a scalar such that {displaystyle y_{k}=a_{k}^{T}x_{k}+z_{k}}, where a_{k} is n-by-1 known column vector whose values can change with time, x_{k} is n-by-1 random column vector to be estimated, and z_{k} is scalar noise term with variance sigma_k^2. After (k+1)-th observation, the direct use of above recursive equations give the expression for the estimate hat{x}_{k+1} as:

{displaystyle {hat {x}}_{k+1}={hat {x}}_{k}+w_{k+1}(y_{k+1}-a_{k+1}^{T}{hat {x}}_{k})}

where y_{{k+1}} is the new scalar observation and the gain factor w_{k+1} is n-by-1 column vector given by

{displaystyle w_{k+1}={frac {C_{e_{k}}a_{k+1}}{sigma _{k+1}^{2}+a_{k+1}^{T}C_{e_{k}}a_{k+1}}}.}

The {displaystyle C_{e_{k+1}}} is n-by-n error covariance matrix given by

{displaystyle C_{e_{k+1}}=(I-w_{k+1}a_{k+1}^{T})C_{e_{k}}.}

Here, no matrix inversion is required. Also, the gain factor, w_{k+1}, depends on our confidence in the new data sample, as measured by the noise variance, versus that in the previous data. The initial values of {hat {x}} and C_{e} are taken to be the mean and covariance of the aprior probability density function of x.

Alternative approaches: This important special case has also given rise to many other iterative methods (or adaptive filters), such as the least mean squares filter and recursive least squares filter, that directly solves the original MSE optimization problem using stochastic gradient descents. However, since the estimation error e cannot be directly observed, these methods try to minimize the mean squared prediction error {displaystyle mathrm {E} {{tilde {y}}^{T}{tilde {y}}}}. For instance, in the case of scalar observations, we have the gradient {displaystyle nabla _{hat {x}}mathrm {E} {{tilde {y}}^{2}}=-2mathrm {E} {{tilde {y}}a}.} Thus, the update equation for the least mean square filter is given by

{displaystyle {hat {x}}_{k+1}={hat {x}}_{k}+eta _{k}mathrm {E} {{tilde {y}}_{k}a_{k}},}

where eta _{k} is the scalar step size and the expectation is approximated by the instantaneous value {displaystyle mathrm {E} {a_{k}{tilde {y}}_{k}}approx a_{k}{tilde {y}}_{k}}. As we can see, these methods bypass the need for covariance matrices.

[edit]

In many practical applications, the observation noise is uncorrelated. That is, C_{Z} is a diagonal matrix. In such cases, we can update the estimate hat{x}_{k+1} iteratively, using the scalar update formulas as:

{displaystyle w_{k+1}^{(ell )}={frac {C_{e_{k}}^{(ell )}A_{k+1}^{(ell )T}}{C_{Z_{k+1}}^{(ell )}+A_{k+1}^{(ell )}C_{e_{k}}^{(ell )}(A_{k+1}^{(ell )T})}}}
{displaystyle C_{e_{k+1}}^{(ell )}=(I-w_{k+1}^{(ell )}A_{k+1}^{(ell )})C_{e_{k}}^{(ell )}}
{displaystyle {hat {x}}_{k+1}^{(ell )}={hat {x}}_{k}^{(ell -1)}+w_{k+1}^{(ell )}(y_{k+1}^{(ell )}-A_{k+1}^{(ell )}{hat {x}}_{k}^{(ell -1)})}

Examples[edit]

Example 1[edit]

We shall take a linear prediction problem as an example. Let a linear combination of observed scalar random variables {displaystyle z_{1},z_{2}} and {displaystyle z_{3}} be used to estimate another future scalar random variable {displaystyle z_{4}} such that {displaystyle {hat {z}}_{4}=sum _{i=1}^{3}w_{i}z_{i}}. If the random variables {displaystyle z=[z_{1},z_{2},z_{3},z_{4}]^{T}} are real Gaussian random variables with zero mean and its covariance matrix given by

{displaystyle operatorname {cov} (Z)=operatorname {E} [zz^{T}]=left[{begin{array}{cccc}1&2&3&4\2&5&8&9\3&8&6&10\4&9&10&15end{array}}right],}

then our task is to find the coefficients w_{i} such that it will yield an optimal linear estimate {displaystyle {hat {z}}_{4}}.

In terms of the terminology developed in the previous sections, for this problem we have the observation vector {displaystyle y=[z_{1},z_{2},z_{3}]^{T}}, the estimator matrix W=[w_{1},w_{2},w_{3}] as a row vector, and the estimated variable {displaystyle x=z_{4}} as a scalar quantity. The autocorrelation matrix C_{Y} is defined as

{displaystyle C_{Y}=left[{begin{array}{ccc}E[z_{1},z_{1}]&E[z_{2},z_{1}]&E[z_{3},z_{1}]\E[z_{1},z_{2}]&E[z_{2},z_{2}]&E[z_{3},z_{2}]\E[z_{1},z_{3}]&E[z_{2},z_{3}]&E[z_{3},z_{3}]end{array}}right]=left[{begin{array}{ccc}1&2&3\2&5&8\3&8&6end{array}}right].}

The cross correlation matrix C_{{YX}} is defined as

{displaystyle C_{YX}=left[{begin{array}{c}E[z_{4},z_{1}]\E[z_{4},z_{2}]\E[z_{4},z_{3}]end{array}}right]=left[{begin{array}{c}4\9\10end{array}}right].}

We now solve the equation C_{Y}W^{T}=C_{YX} by inverting C_{Y} and pre-multiplying to get

{displaystyle C_{Y}^{-1}C_{YX}=left[{begin{array}{ccc}4.85&-1.71&-0.142\-1.71&0.428&0.2857\-0.142&0.2857&-0.1429end{array}}right]left[{begin{array}{c}4\9\10end{array}}right]=left[{begin{array}{c}2.57\-0.142\0.5714end{array}}right]=W^{T}.}

So we have {displaystyle w_{1}=2.57,} {displaystyle w_{2}=-0.142,} and w_{{3}}=.5714
as the optimal coefficients for {displaystyle {hat {z}}_{4}}. Computing the minimum
mean square error then gives {displaystyle leftVert erightVert _{min }^{2}=operatorname {E} [z_{4}z_{4}]-WC_{YX}=15-WC_{YX}=.2857}.[2] Note that it is not necessary to obtain an explicit matrix inverse of C_{Y} to compute the value of W. The matrix equation can be solved by well known methods such as Gauss elimination method. A shorter, non-numerical example can be found in orthogonality principle.

Example 2[edit]

Consider a vector y formed by taking N observations of a fixed but unknown scalar parameter x disturbed by white Gaussian noise. We can describe the process by a linear equation y=1x+z, where 1=[1,1,ldots ,1]^{T}. Depending on context it will be clear if 1 represents a scalar or a vector. Suppose that we know [-x_{0},x_{0}] to be the range within which the value of x is going to fall in. We can model our uncertainty of x by an aprior uniform distribution over an interval [-x_{0},x_{0}], and thus x will have variance of sigma _{X}^{2}=x_{0}^{2}/3.. Let the noise vector z be normally distributed as N(0,sigma _{Z}^{2}I) where I is an identity matrix. Also x and z are independent and C_{XZ}=0. It is easy to see that

{displaystyle {begin{aligned}&operatorname {E} {y}=0,\&C_{Y}=operatorname {E} {yy^{T}}=sigma _{X}^{2}11^{T}+sigma _{Z}^{2}I,\&C_{XY}=operatorname {E} {xy^{T}}=sigma _{X}^{2}1^{T}.end{aligned}}}

Thus, the linear MMSE estimator is given by

{begin{aligned}{hat {x}}&=C_{XY}C_{Y}^{-1}y\&=sigma _{X}^{2}1^{T}(sigma _{X}^{2}11^{T}+sigma _{Z}^{2}I)^{-1}y.end{aligned}}

We can simplify the expression by using the alternative form for W as

{displaystyle {begin{aligned}{hat {x}}&=left(1^{T}{frac {1}{sigma _{Z}^{2}}}I1+{frac {1}{sigma _{X}^{2}}}right)^{-1}1^{T}{frac {1}{sigma _{Z}^{2}}}Iy\&={frac {1}{sigma _{Z}^{2}}}left({frac {N}{sigma _{Z}^{2}}}+{frac {1}{sigma _{X}^{2}}}right)^{-1}1^{T}y\&={frac {sigma _{X}^{2}}{sigma _{X}^{2}+sigma _{Z}^{2}/N}}{bar {y}},end{aligned}}}

where for y=[y_{1},y_{2},ldots ,y_{N}]^{T} we have {bar {y}}={frac {1^{T}y}{N}}={frac {sum _{i=1}^{N}y_{i}}{N}}.

Similarly, the variance of the estimator is

sigma _{hat {X}}^{2}=C_{XY}C_{Y}^{-1}C_{YX}={Big (}{frac {sigma _{X}^{2}}{sigma _{X}^{2}+sigma _{Z}^{2}/N}}{Big )}sigma _{X}^{2}.

Thus the MMSE of this linear estimator is

{displaystyle operatorname {LMMSE} =sigma _{X}^{2}-sigma _{hat {X}}^{2}={Big (}{frac {sigma _{Z}^{2}}{sigma _{X}^{2}+sigma _{Z}^{2}/N}}{Big )}{frac {sigma _{X}^{2}}{N}}.}

For very large N, we see that the MMSE estimator of a scalar with uniform aprior distribution can be approximated by the arithmetic average of all the observed data

{displaystyle {hat {x}}={frac {1}{N}}sum _{i=1}^{N}y_{i},}

while the variance will be unaffected by data sigma _{hat {X}}^{2}=sigma _{X}^{2}, and the LMMSE of the estimate will tend to zero.

However, the estimator is suboptimal since it is constrained to be linear. Had the random variable x also been Gaussian, then the estimator would have been optimal. Notice, that the form of the estimator will remain unchanged, regardless of the apriori distribution of x, so long as the mean and variance of these distributions are the same.

Example 3[edit]

Consider a variation of the above example: Two candidates are standing for an election. Let the fraction of votes that a candidate will receive on an election day be xin [0,1]. Thus the fraction of votes the other candidate will receive will be 1-x. We shall take x as a random variable with a uniform prior distribution over [0,1] so that its mean is {bar {x}}=1/2 and variance is sigma _{X}^{2}=1/12. A few weeks before the election, two independent public opinion polls were conducted by two different pollsters. The first poll revealed that the candidate is likely to get y_{1} fraction of votes. Since some error is always present due to finite sampling and the particular polling methodology adopted, the first pollster declares their estimate to have an error z_{1} with zero mean and variance sigma _{Z_{1}}^{2}. Similarly, the second pollster declares their estimate to be y_{2} with an error z_{2} with zero mean and variance sigma _{Z_{2}}^{2}. Note that except for the mean and variance of the error, the error distribution is unspecified. How should the two polls be combined to obtain the voting prediction for the given candidate?

As with previous example, we have

{begin{aligned}y_{1}&=x+z_{1}\y_{2}&=x+z_{2}.end{aligned}}

Here, both the {displaystyle operatorname {E} {y_{1}}=operatorname {E} {y_{2}}={bar {x}}=1/2}. Thus, we can obtain the LMMSE estimate as the linear combination of y_{1} and y_{2} as

{hat {x}}=w_{1}(y_{1}-{bar {x}})+w_{2}(y_{2}-{bar {x}})+{bar {x}},

where the weights are given by

{begin{aligned}w_{1}&={frac {1/sigma _{Z_{1}}^{2}}{1/sigma _{Z_{1}}^{2}+1/sigma _{Z_{2}}^{2}+1/sigma _{X}^{2}}},\w_{2}&={frac {1/sigma _{Z_{2}}^{2}}{1/sigma _{Z_{1}}^{2}+1/sigma _{Z_{2}}^{2}+1/sigma _{X}^{2}}}.end{aligned}}

Here, since the denominator term is constant, the poll with lower error is given higher weight in order to predict the election outcome. Lastly, the variance of {hat {x}} is given by

sigma _{hat {X}}^{2}={frac {1/sigma _{Z_{1}}^{2}+1/sigma _{Z_{2}}^{2}}{1/sigma _{Z_{1}}^{2}+1/sigma _{Z_{2}}^{2}+1/sigma _{X}^{2}}}sigma _{X}^{2},

which makes sigma _{hat {X}}^{2} smaller than sigma _{X}^{2}. Thus, the LMMSE is given by

{displaystyle mathrm {LMMSE} =sigma _{X}^{2}-sigma _{hat {X}}^{2}={frac {1}{1/sigma _{Z_{1}}^{2}+1/sigma _{Z_{2}}^{2}+1/sigma _{X}^{2}}}.}

In general, if we have N pollsters, then {displaystyle {hat {x}}=sum _{i=1}^{N}w_{i}(y_{i}-{bar {x}})+{bar {x}},} where the weight for i-th pollster is given by {displaystyle w_{i}={frac {1/sigma _{Z_{i}}^{2}}{sum _{j=1}^{N}1/sigma _{Z_{j}}^{2}+1/sigma _{X}^{2}}}} and the LMMSE is given by {displaystyle mathrm {LMMSE} ={frac {1}{sum _{j=1}^{N}1/sigma _{Z_{j}}^{2}+1/sigma _{X}^{2}}}.}

Example 4[edit]

Suppose that a musician is playing an instrument and that the sound is received by two microphones, each of them located at two different places. Let the attenuation of sound due to distance at each microphone be a_{1} and a_{2}, which are assumed to be known constants. Similarly, let the noise at each microphone be z_{1} and z_{2}, each with zero mean and variances sigma _{Z_{1}}^{2} and sigma _{Z_{2}}^{2} respectively. Let x denote the sound produced by the musician, which is a random variable with zero mean and variance sigma _{X}^{2}. How should the recorded music from these two microphones be combined, after being synced with each other?

We can model the sound received by each microphone as

{begin{aligned}y_{1}&=a_{1}x+z_{1}\y_{2}&=a_{2}x+z_{2}.end{aligned}}

Here both the {displaystyle operatorname {E} {y_{1}}=operatorname {E} {y_{2}}=0}. Thus, we can combine the two sounds as

y=w_{1}y_{1}+w_{2}y_{2}

where the i-th weight is given as

{displaystyle w_{i}={frac {a_{i}/sigma _{Z_{i}}^{2}}{sum _{j}a_{j}^{2}/sigma _{Z_{j}}^{2}+1/sigma _{X}^{2}}}.}

See also[edit]

  • Bayesian estimator
  • Mean squared error
  • Least squares
  • Minimum-variance unbiased estimator (MVUE)
  • Orthogonality principle
  • Wiener filter
  • Kalman filter
  • Linear prediction
  • Zero-forcing equalizer

Notes[edit]

  1. ^ «Mean Squared Error (MSE)». www.probabilitycourse.com. Retrieved 9 May 2017.
  2. ^ Moon and Stirling.

Further reading[edit]

  • Johnson, D. «Minimum Mean Squared Error Estimators». Connexions. Archived from Minimum Mean Squared Error Estimators the original on 25 July 2008. Retrieved 8 January 2013.
  • Jaynes, E.T. (2003). Probability Theory: The Logic of Science. Cambridge University Press. ISBN 978-0521592710.
  • Bibby, J.; Toutenburg, H. (1977). Prediction and Improved Estimation in Linear Models. Wiley. ISBN 9780471016564.
  • Lehmann, E. L.; Casella, G. (1998). «Chapter 4». Theory of Point Estimation (2nd ed.). Springer. ISBN 0-387-98502-6.
  • Kay, S. M. (1993). Fundamentals of Statistical Signal Processing: Estimation Theory. Prentice Hall. pp. 344–350. ISBN 0-13-042268-1.
  • Luenberger, D.G. (1969). «Chapter 4, Least-squares estimation». Optimization by Vector Space Methods (1st ed.). Wiley. ISBN 978-0471181170.
  • Moon, T.K.; Stirling, W.C. (2000). Mathematical Methods and Algorithms for Signal Processing (1st ed.). Prentice Hall. ISBN 978-0201361865.
  • Van Trees, H. L. (1968). Detection, Estimation, and Modulation Theory, Part I. New York: Wiley. ISBN 0-471-09517-6.
  • Haykin, S.O. (2013). Adaptive Filter Theory (5th ed.). Prentice Hall. ISBN 978-0132671453.

Linear regression

Table of contents

Used software:

  • Python-IDE: PyCharm Community 2017.2;
  • Project Interpreter: python 3.5.3 (amd64);
  • Used python packeges:
    • matplotlib v2.1.0;
    • tabulate v0.8.1;
    • numpy v1.13.3.

Problem

  1. Implement linear regression;
  2. Configure the coefficient vector in two ways — gradient descent and evolution algorithm;
  3. To assess the quality of use MSE;
  4. Select hyperparameters and methods arbitrarily;
  5. Perform data visualization;
  6. Teach the code to take additional points from the console to check the already trained model.

Start dataset

Dataset.txt — dependence of objects: area, number of rooms, price.

Program structure

  • DatasetProcessing:
    • getDataset;
    • getSeparetedData;
    • getAvgData;
    • getStandardDeviationData;
    • getNormalizeDataset;
    • getNormalizeInputDataset;
    • getCombinedInputData.
  • GradientDescent:
    • calculateGradientDescent;
    • calculateInputPrice.
  • Visualization:
    • build3DStartDataset (start dots);
    • build3DRegressionLinearPlusInput (gradient);
    • build3DRegressionLinear (all);
    • build3DRegressionLinearGradientVsEvolution (together);
    • build3DCostFunction (gradient);
    • build2DInfo (together);
    • build2DIndividualMSEEvolution (evolution).
  • Evolution:
    • startEvolution;
    • calculateNewPrice (off):
    • testEvo;
    • weightStartIntialization;
    • calculateMSE;
    • mutationProbability;
    • selectionIndividuals;
    • testEvo;
    • selection (off);
    • crossing (off).
  • presentation files:
    • main.

Output (one start)

  • example-outputGradient
  • example-outputEvolution

Other results:

  • google table
  • outputGradient500Dynamic
  • outputEvolution60000-50percentMutation
  • outputEvolution60000-100percentMutation

Graphics (example-output):

3DStartDataset

3DCostFunction

3DRegressionLinear (together)

2DInfo

2DIndividualMSEEvolution

3DRegressionLinearGradientVsEvolution

FAQ

Gradient descent:

left{begin{matrix} widehat{y_i{}}=w_0{}x_0{}+w_1{}x_1{}+w_2{}x_2{}+cdots+w_N{}x_N{}  x_0{}=1=const end{matrix}right.

left{begin{matrix} x=begin{Bmatrix}x_1{},x_2{},cdots ,x_N{} end{Bmatrix}^T y=begin{Bmatrix}y_1{},y_2{},cdots ,y_N{} end{Bmatrix}^T w=begin{Bmatrix}w_0{},w_1{},cdots ,w_D{} end{Bmatrix}^T end{matrix}right.

left{begin{matrix} w_i{}=w_i{}-alphafrac{partial}{partial w_i{}}J(w) frac{partial}{partial w_i{}}J(w)=frac{partial}{partial w_i{}}frac{1} {2*N}sum_{i=1}^{N}(widehat{y_i{}}-y_i{})^2=frac{[x^T]{}([x][w]-[y])}{N} end{matrix}right.

left{begin{matrix} [w]=[w]-alphax^T{} [widehat{y}]=[x][w] end{matrix}right.

[w]=[w]-alphaX^T{}

begin{pmatrix} w_1{} w_2{} vdots w_D{} end{pmatrix}=begin{pmatrix} w_1{} w_2{} vdots w_D{} end{pmatrix}-alpha begin{pmatrix} 1& 1& cdots & 1& x_{11}&  x_{21}&  cdots & x_{N1} x_{12}&  x_{22}&  cdots & x_{N2} vdots &  vdots &  ddots & vdots  x_{1D}&  x_{2D}&  cdots & x_{ND} end{pmatrix}begin{pmatrix} begin{pmatrix} 1& x_{11}&  x_{12}&  cdots & x_{1D} 1& x_{21}&  x_{22}&  cdots & x_{2D} vdots &  vdots & vdots & ddots & vdots  1& x_{N1}&  x_{N2}&  cdots & x_{ND} end{pmatrix}& begin{pmatrix} w_1{} w_2{} vdots w_D{} end{pmatrix} -&  begin{pmatrix} y_1{} y_2{} vdots y_N{} end{pmatrix} end{pmatrix}

Evolution algorithm:

evolution algorithm

mutation + selection

example

  1. Generate 7 coefficient vector (np.random.randn(3, 1));

2.1 Calculate MSE for each coefficient vector:

MSE=frac{1}{2N}sum_{i=1}^{N}([x][w_i]-[y])^2

2.2 Find the top three MSE and coefficient vectors.

  1. Produce selection with mutation:
  • top one on step 2.2 record to new_w0 without changes/mutations;
  • other six descendats have two mandatory parents (mutation replaces first parent with probability given in main.py);
  • for one descendats possibly only one mutation (probability 33% for each chromosome).
  1. evolution goes through a certain number of iterations given in main.py.
  1. Question:
    Что такое линейная регрессия?

    Answer:
    Линейная регрессия — метод восстановления зависимости между двумя переменными.

  2. Question:
    Что такое среднеквадратичное отклонение/ошибка?

    Answer:

    Q(a,X)=frac{1}{l}sum_{i=1}^{l}(a(x_{i})-y_{i})^{2}.

    Это функционал ошибки. Его преимущество (по сравнению с модулем отклюнения алгоритма/прогноза) заключается в том, что квадрат отклонения алгоритма от истинного ответа (a(x)-y)^{2}, содержащийся в нем, является гладкой функцией (имеет производную во всех точках), что позволит использовать минимизацию градиентными методами.

    Для линейной модели (вместо (a(x_{i}), подставляя (left langle w,x_{i} right rangle получается не функционал, а функция:

    Q(w,X)=frac{1}{l}sum_{i=1}^{l}(left langle w,x_{i} right rangle-y_{i})^{2}.

    Ошибка зависит не от некоторой функции (a(x_{i}), а от вектора весов w, который возможно подвергнуть оптимизации.

  3. Question:
    Как записать в матричном виде среднеквадратичную ошибку?

    Answer:

    Среднеквадратичная ошибка в матричном виде:

    Q(w,X)=frac{1}{l}left | Xw-y right |^{2}rightarrow min_{w}, где:

    X=begin{pmatrix} {x_{11}}& ...& {x_{1d}}  ...&  ...& ...  {x_{l1}}&  ...& {x_{ld}} end{pmatrix} — матрица «объекты-признаки».

    begin{pmatrix}{x_{11}} &  ...& {x_{1d}} end{pmatrix} — все признаки i-ого объекта.

    begin{pmatrix}{x_{11}} ... {x_{l1}}end{pmatrix} — значения j-ого признака на всех объектах.

    y=begin{bmatrix}{y_{1}} ... {y_{l}} end{bmatrix} — вектор ответов.

  4. Question:
    Зачем использовать градиентный спуск, если существует способ получения аналитического решения задачи минимизации среднеквадратичной ошибки без оптимизации?

    Аналитическое решение: {w_{*}}=(X^{T}X)^{-1}X^{T}y.

    Answer:
    Основная проблема состоит в том, что необходимо обращать матрицу dtimes d (число признаков на признаков) — число операций {d^{3}}. На тысяче признаков — критическая сложность вычислений.

    Кроме того, при обращении могут возникнуть численные проблемы при определенном устройстве матриц.

  5. Question:
    Что такое градиентый спуск?

    Answer:
    Градиентый спуск — это способ поиска решения оптимизационным подходом.

    Подход основан на том, что среднеквадратичная ошибка обладает свойствами выпуклой и гладкой функции.

    Из выпуклости функции следует, что у функции существует один минимум, а из гладкости, что в каждой точки функции возможно вычислить градиент.

    Градиент — это вектор, указывающий направление наибольшего возрастания некоторой величины.

    Другими словами, градиент показывает сторону наискорейшего возрастания функции, а антиградиент показывает сторону наискорейшего убавания функции.

    Алгоритм:

    1. Инициализация:

    Каким-то образом находится начальное приближение для вектора весов: либо вектор заполняется нулями w: w^0=0, либо случайными небольшими числами.

    1. Цикл t:

      w^{t}=w^{t-1}-{eta_{t}}bigtriangledown Q(w^{t-1},X), где

      bigtriangledown Q(w^{t-1},X) — вектор градиентов этой точки;

      {eta_{t}} — шаг, регулирует, на сколько далеко шагаем в сторону антиградиента (оптимальный шаг не слишком большой).

      Градиентные шаги повторяются до наступления сходимости.

      Сходимость можно определять:

      • как ситуацию, когда векторы весов от шага к шагу меняются не очень сильно:
        left | w^{t}-w^{t-1} right |<varepsilon ;

      • производить сравнение функционала ошибки между текущей иттерацией и предыдущей.

  6. Question:
    Настройка коэффециентов линейной регрессии генетикой

    Answer:

  7. Question:
    Среднеквадратичная линейная регрессия

    Answer:

other:
параметры сглаживания (2)
регуляризация
коэффициент сглаживания
матрица весов (нули)
градиент ошибки — производная по всем направлениям
эвристики для подбора матрицы весов (веса в отрезке)
критерий останова (епсилон)
количество итераций (2000), ошибка (0,063)
задача линейной регрессии
эмпирический риск
псевдообразная матрица (точное решение)

включать случайные в алгоритм для генетического разнообразия (чтобы не застрять в локальном минимуме)
цель — оптимизация функции ошибки (эмперического риска)

Links

  1. линейная регрессия;
    https://ru.coursera.org/learn/supervised-learning/lecture/hCGR6/obuchieniie-linieinoi-rieghriessii
    https://basegroup.ru/deductor/function/algorithm/linear-regression
    http://www.machinelearning.ru/wiki/images/6/6d/Voron-ML-1.pdf
  2. London Machine Learning Stydy Group. Lecture 1;
  3. Trace in linear algebra;
  4. Evolution algohithms [RUS].

Многие процедуры вывода преследуют общую цель — минимизировать среднее значение или сумму квадратов ошибок. Это имеет грандиозную историю, восходящую к Гауссу, имеет интуитивный смысл и поддается анализу и расчету. Это ядро ​​аналитических методов от обычной линейной регрессии почти до всего машинного обучения и искусственного интеллекта.

В финансах это тоже заставляет нас делать ошибки! Почему это так и почему это то, о чем мы должны заботиться? Ответ приходит из понимания базовых допущений наших методов и очевидной неприменимости этих допущений к финансовым рынкам.

Все системы прогнозирования создают функцию наблюдаемых данных и используют ее для прогнозирования ненаблюдаемых данных. Сделанная ошибка оценивается и во время обучения используется для настройки функции прогнозирования с помощью некоторых параметров управления. В статистической обстановке мы обычно рассматриваем некоторые из этих параметров как «оценки» истинных значений вещей, которые имеют значение в математической модели природы. В машинном обучении и искусственном интеллекте мы игнорируем «значение» параметров (что на самом деле означают веса внутри искусственной нейронной сети?), Но они все еще существуют. В обоих случаях мы стремимся минимизировать некоторую совокупную меру непригодности модели для набора данных с известными ответами.

В статистике есть метод, называемый оценкой максимального правдоподобия (MLE), который предполагает, что мы хотим найти значения этих параметров, которые являются наиболее вероятной причиной данных, которые мы наблюдали, с учетом вероятностной модели для процесса генерации данных. Часто конкретный процесс генерации вероятностных данных имеет связанную с ним естественную функцию оценки, которая может быть получена с использованием метода MLE. Например, если ваши данные имеют неприятные толстые хвосты, они могут быть хорошо смоделированы распределением Лапласа, и из этого довольно просто показать, что вы хотите минимизировать среднюю абсолютную ошибку, а не среднеквадратичную ошибку — т.е. ваши данные требуют « Надежный Регресс .

Распределение вероятностей, которое говорит вам минимизировать сумму квадратов ошибок, представляет собой модель линейного аддитивного шума с гомоскедастичными (т. Е. Постоянной дисперсией), нормально распределенными ошибками.

Но вот проблема в финансах: существует довольно много неопровержимых доказательств того, что одно, что вы можете сказать о доходности фондового рынка с большой уверенностью, — это то, что обычно они не распределяются с постоянной дисперсией.

Хорошо, но это же всего лишь модель, не так ли? И как сказал Джордж Бокс: все модели неправильные, но некоторые модели полезны.

Вопрос в том, насколько вы неправы и каковы последствия того, что вы ошибаетесь? Когда ваш набор данных включает выброс в три или четыре стандартных отклонения, что не является чем-то необычным в контексте подгонки модели к финансовым данным, метод наименьших квадратов считает, что эта ошибка действительно, действительно, действительно, важно. И это искажает выбранные вами параметры, чтобы их не было. Это концепция «влияния» наблюдаемых данных. Каждая база данных по-разному влияет на общий выбор параметров в вашей модели, и не все они обрабатываются одинаково, когда используется неправильная функция оценки.

Реальные рыночные данные непостоянны, но демонстрируют сгустки высокой и низкой дисперсии, поэтому игнорирование этого свойства также означает, что вы уделяете гораздо больше внимания одним периодам времени, чем другим.

Это простой, но действительно важный момент: хотите ли вы соответствовать модели, которая будет верна в любое время или только во время финансового кризиса 2008 года?

Итак, какова хорошая модель доходности фондового рынка и существует ли она вообще? К счастью, да! Эмпирически ежедневная доходность хорошо согласуется с асимметричной моделью GARCH (1,1) с принципиально лептокуртотическим распределением вероятностей, такой как t Стьюдента или обобщенное распределение ошибок (о котором я подробно писал в другом месте). Это хорошо на протяжении многих десятилетий, и на данном этапе мне потребовалось бы серьезное изменение режима, чтобы прекратить его использовать. Просто проверьте, насколько лучше подогнанная гистограмма на графиках ниже!

Ok. Итак, возвращаясь к Джорджу Боксу, разве нормальная модель не полезна, даже если она неправильная? Да … но он делает ошибки, которые не нужно делать, когда у вас есть инструменты (то есть современные компьютеры), которые действительно могут обрабатывать данные, должным образом учитывая реальный характер данных — вместо того, чтобы предполагать, что вы можете получить отказаться от использования принципиально сломанной (в данном контексте) модели независимо и идентично распределенного белого шума.

Я подобрал те же данные для ежедневной общей доходности SPY ETF, используя как линейную регрессию, так и гораздо более реалистичную модель для процесса генерации данных, о котором говорилось выше. «Альфа» -модель в обоих случаях одинакова — линейная аддитивная модель шума с однодневным сроком обращения. Член реверсии статистически значим в обоих анализах, но принимает разные значения (-6,7% для линейной регрессии и -4,0% для модели GARCH) и указывается как более статистически значимый при использовании менее реалистичного метода линейной регрессии — p -Значение члена линейной регрессии составляет 0,00000022, тогда как для более реалистичной модели это всего лишь 0,0015. Это важные отличия!

Графики выше показывают эффективность элементарной торговой стратегии вне выборки для обоих методов. Стратегия заключается в том, чтобы позиция была равна знаку ожидаемой доходности на каждый день: то есть, если вы ожидаете, что рынок пойдет вверх, тогда открывайте длинную позицию по одному контракту, а если вы ожидаете, что она пойдет вниз, то открывайте короткую позицию по одному контракту с сделки, совершенные на момент закрытия. Мы не предполагаем никаких транзакционных издержек, что уже не является нереалистичным предположением, и никакого влияния на рынок. Альфа, основанная на реалистичной вероятностной модели, имеет коэффициент Шарпа 1,4, тогда как одна альфа, основанная на линейной регрессии, имеет коэффициент Шарпа 0,8.

Ясно видно, что модель с более надежной оценкой работает лучше, и это сказывается на использовании правильного метода, а не на том, чтобы просто забегать вперед, предполагая, что минимизация среднеквадратичной ошибки «достаточно хороша».

Если вам понравилась эта статья и вы хотите прочитать больше моих работ, рассмотрите мою книгу Приключения в области науки о финансовых данных, которая доступна в виде электронной книги для Kindle, а также в Apple Books и Google Книги. Исправленное второе издание будет опубликовано World Scientific.

Вы также можете заказать мягкую обложку прямо у меня на нашем веб-сайте.

Вы можете напрямую поддержать мои статьи на Medium, подписавшись по этой партнерской ссылке.

Среднеквадратичная ошибка (Mean Squared Error) – Среднее арифметическое (Mean) квадратов разностей между предсказанными и реальными значениями Модели (Model) Машинного обучения (ML):

MSE как среднее дистанций между предсказаниями и реальными наблюдениями

Рассчитывается с помощью формулы, которая будет пояснена в примере ниже:

$$MSE = frac{1}{n} × sum_{i=1}^n (y_i — widetilde{y}_i)^2$$
$$MSEspace{}{–}space{Среднеквадратическая}space{ошибка,}$$
$$nspace{}{–}space{количество}space{наблюдений,}$$
$$y_ispace{}{–}space{фактическая}space{координата}space{наблюдения,}$$
$$widetilde{y}_ispace{}{–}space{предсказанная}space{координата}space{наблюдения,}$$

MSE практически никогда не равен нулю, и происходит это из-за элемента случайности в данных или неучитывания Оценочной функцией (Estimator) всех факторов, которые могли бы улучшить предсказательную способность.

Пример. Исследуем линейную регрессию, изображенную на графике выше, и установим величину среднеквадратической Ошибки (Error). Фактические координаты точек-Наблюдений (Observation) выглядят следующим образом:

Мы имеем дело с Линейной регрессией (Linear Regression), потому уравнение, предсказывающее положение записей, можно представить с помощью формулы:

$$y = M * x + b$$
$$yspace{–}space{значение}space{координаты}space{оси}space{y,}$$
$$Mspace{–}space{уклон}space{прямой}$$
$$xspace{–}space{значение}space{координаты}space{оси}space{x,}$$
$$bspace{–}space{смещение}space{прямой}space{относительно}space{начала}space{координат}$$

Параметры M и b уравнения нам, к счастью, известны в данном обучающем примере, и потому уравнение выглядит следующим образом:

$$y = 0,5252 * x + 17,306$$

Зная координаты реальных записей и уравнение линейной регрессии, мы можем восстановить полные координаты предсказанных наблюдений, обозначенных серыми точками на графике выше. Простой подстановкой значения координаты x в уравнение мы рассчитаем значение координаты ỹ:

Рассчитаем квадрат разницы между Y и Ỹ:

Сумма таких квадратов равна 4 445. Осталось только разделить это число на количество наблюдений (9):

$$MSE = frac{1}{9} × 4445 = 493$$

Само по себе число в такой ситуации становится показательным, когда Дата-сайентист (Data Scientist) предпринимает попытки улучшить предсказательную способность модели и сравнивает MSE каждой итерации, выбирая такое уравнение, что сгенерирует наименьшую погрешность в предсказаниях.

MSE и Scikit-learn

Среднеквадратическую ошибку можно вычислить с помощью SkLearn. Для начала импортируем функцию:

import sklearn
from sklearn.metrics import mean_squared_error

Инициализируем крошечные списки, содержащие реальные и предсказанные координаты y:

y_true = [5, 41, 70, 77, 134, 68, 138, 101, 131]
y_pred = [23, 35, 55, 90, 93, 103, 118, 121, 129]

Инициируем функцию mean_squared_error(), которая рассчитает MSE тем же способом, что и формула выше:

mean_squared_error(y_true, y_pred)

Интересно, что конечный результат на 3 отличается от расчетов с помощью Apple Numbers:

496.0

Ноутбук, не требующий дополнительной настройки на момент написания статьи, можно скачать здесь.

Автор оригинальной статьи: @mmoshikoo

Фото: @tobyelliott

Понравилась статья? Поделить с друзьями:
  • Минимальная абсолютная ошибка
  • Микроволновка самсунг ошибка 8888
  • Миника нтс 1102ф ошибки
  • Микроволновка самсунг ошибка 5е починить самим
  • Миника 1105 фkz ошибки g5 hop