How to achieve zero mean and unit variance
7 ビュー (過去 30 日間)
古いコメントを表示
I have a matrix 50x3000. How do I achieve zero mean and unit variance
Also How would i normalize the same after applying zero mean and unit variance?
3 件のコメント
Image Analyst
2014 年 4 月 13 日
You do it on the shifted version of X. Subtracting the mean merely shifts X without narrowing its distribution. So then you divide to narrow or widen the distribution (X) without shifting it (because it's already shifted).
回答 (2 件)
Nils
2015 年 11 月 27 日
You can use the zscore function to zero mean / unit variance any array of data.
For a given matrix A,
A = reshape(zscore(A(:)),size(A,1),size(A,2));
will return the matrix A where all elements now follow a zero mean / unit variance distribution.
It is important to linearize A as the input to zscore, then reshape the output, because zscore will operate differently if you feed it an N-D array rather than a vector.
4 件のコメント
sahana kp
2017 年 1 月 30 日
@Walter Roberson Now getting the answer like this >> mean(cA3)
ans =
Columns 1 through 5
-2.72183709262942e-16 -2.72183709262942e-16 -2.72183709262942e-16 -2.72183709262942e-16 -2.72183709262942e-16
Column 6
-2.72183709262942e-16
>> var(cA3)
ans =
Columns 1 through 5
1.02777777777778 1.02777777777778 1.02777777777778 1.02777777777778 1.02777777777778
Column 6
1.02777777777778
is this nomalized ?
Walter Roberson
2017 年 1 月 30 日
Might be normalized. The 1e-16 means are round off error that are impossible to avoid in floating point
Walter Roberson
2014 年 4 月 13 日
3 件のコメント
Image Analyst
2014 年 4 月 13 日
Of course some X will be negative. I'd say about half of them will be . Why are you expecting something else ?
John D'Errico
2015 年 11 月 27 日
How would you have a mean of zero (and a non-zero variance) if some of the elements were not negative?
参考
カテゴリ
Help Center および File Exchange で Logical についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!