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!