【发布时间】:2015-09-23 18:44:24
【问题描述】:
我已经开始使用python进行分析了。我想做以下事情:
- 获取数据集分布
- 获取此分布中的峰值
我使用 scipy.stats 中的 gaussian_kde 来估计核密度函数。 guassian_kde 是否对数据做出任何假设?我正在使用随时间变化的数据。因此,如果数据具有一种分布(例如高斯分布),它稍后可能具有另一种分布。 gaussian_kde 在这种情况下有什么缺点吗?在question 中建议尝试将数据拟合到每个分布中以获得数据分布。那么使用 gaussian_kde 和question 中提供的答案有什么区别。我使用了下面的代码,我也想知道 gaussian_kde 是估计 pdf 的好方法,如果数据会随着时间而改变?我知道 gaussian_kde 的一个优点是它可以根据经验自动计算带宽,如here。另外,我怎样才能得到它的峰值?
import pandas as pd
import numpy as np
import pylab as pl
import scipy.stats
df = pd.read_csv('D:\dataset.csv')
pdf = scipy.stats.kde.gaussian_kde(df)
x = np.linspace((df.min()-1),(df.max()+1), len(df))
y = pdf(x)
pl.plot(x, y, color = 'r')
pl.hist(data_column, normed= True)
pl.show(block=True)
【问题讨论】:
-
前几句很难理解。你可能想在那里更明确。您认为
gaussian kde以何种方式标准化您的数据?为什么这只会导致一个高峰?我也没有得到那之后的句子。 -
接受我的道歉,我改写了这个问题
标签: python python-2.7 numpy pandas