Reputation: 2750
I want some data to fit the corresponding Gaussian distribution.
The data is meant to be Gaussian already, but for some filtering reasons, they will not perfectly match the prescribed and expected Gaussian distribution. I therefore aim to reduce the existing scatter between data and desired distribution.
For example, my data fit the Gaussian distribution as follows (the expected mean value is 0 and the standard deviation 0.8):
The approximation is already decent, but I really want to crunch the still tangible scatter between simulated data and expected distribution.
How can I achieve this?
EDIT
Up to now, I have introducing kinda safety factor, defined as:
SF = expected_std/actual_std;
and then
new_data = SF*old_data;
This way the standard deviation matches the expected value, but this procedure looks quite poor from my understanding.
Upvotes: 3
Views: 2564
Reputation: 74930
If you don't want to make any non-linear transformations of the distributions, all you can do is adjust the mean and standard deviation.
%# 1. adjust the mean (do this even if the offset is small)
data = data - mean(data);
%# 2. adjust the standard deviation
data = data/std(data) * expected_SD;
Upvotes: 1