Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 正态分布的鲁棒推理_Python_Numpy_Scipy_Statsmodels - Fatal编程技术网

Python 正态分布的鲁棒推理

Python 正态分布的鲁棒推理,python,numpy,scipy,statsmodels,Python,Numpy,Scipy,Statsmodels,假设我们有一个来自正态分布的大样本,未知均值和方差。假设我们从未知的分布中随机“注入”该样本中的噪声数据点 我如何才能稳健地将正态分布拟合到此样本,并使用它来检测这些异常值 例如 scipy或statsmodels是否有任何方法可以帮助解决此问题 你知道有多少嘈杂的数据点吗?还是它们的相对部分?谢谢@zaxliu我对一些场景很感兴趣,在这些场景中,人们可以做出很好的猜测,而完全未知的分布(甚至它属于哪一类)可能太难了。你是否有一些特定的场景可以帮助缩小假设空间?一个简单的方法是使用EM。每轮你都

假设我们有一个来自正态分布的大样本,未知均值和方差。假设我们从未知的分布中随机“注入”该样本中的噪声数据点

我如何才能稳健地将正态分布拟合到此样本,并使用它来检测这些异常值

例如


scipy
statsmodels
是否有任何方法可以帮助解决此问题

你知道有多少嘈杂的数据点吗?还是它们的相对部分?谢谢@zaxliu我对一些场景很感兴趣,在这些场景中,人们可以做出很好的猜测,而完全未知的分布(甚至它属于哪一类)可能太难了。你是否有一些特定的场景可以帮助缩小假设空间?一个简单的方法是使用EM。每轮你都使用“最可能”的样本来估计mu和sigma,然后用它们计算样本的可能性。你知道有多少嘈杂的数据点吗?还是它们的相对部分?谢谢@zaxliu我对一些场景很感兴趣,在这些场景中,人们可以做出很好的猜测,而完全未知的分布(甚至它属于哪一类)可能太难了。您是否有一些特定的场景可以帮助缩小假设空间?一个简单的方法是使用EM。每一轮您都使用“最有可能”的样本来估计mu和sigma,然后用它们计算样本的可能性。
# 1000 N(0,1) points
mu, sigma = 0, 1
sample = np.random.normal(mu, sigma, 1000)

# Random contamination every 10 points:
mu, sigma = 100, 1
sample[::10] = np.random.normal(mu, sigma, 100)

# Robust estimation (?)
mu_estimate, sigma_estimate = robust_estimation(sample)