我正在使用 Weka 来计算给定数据集的概率。更具体地说,我正在使用KernelEstimator类。
为了获得良好的密度估计结果,带宽参数的选择至关重要,但我无法找出带宽参数是如何计算的。使用的核函数是一个简单的高斯核。有谁知道带宽参数是如何计算的?
我正在使用 Weka 来计算给定数据集的概率。更具体地说,我正在使用KernelEstimator类。
为了获得良好的密度估计结果,带宽参数的选择至关重要,但我无法找出带宽参数是如何计算的。使用的核函数是一个简单的高斯核。有谁知道带宽参数是如何计算的?
你可以在这里找到它:
在那里你会发现
m_SumOfWeights += weight;
double range = m_Values[m_NumValues - 1] - m_Values[0];
if (range > 0) {
m_StandardDev = Math.max(range / Math.sqrt(m_SumOfWeights),
// allow at most 3 sds within one interval
m_Precision / (2 * 3));
}
m_StandardDev 是它稍后用作高斯内核的“方差”的东西,即您的带宽。