2010-08-18 3 views
3

J'utilise Weka pour calculer la probabilité d'un ensemble de données donné. Plus précisément, j'utilise la classe KernelEstimator.Comment la bande passante est-elle calculée dans la classe Weka KernelEstimator?

Pour de bons résultats d'estimation de densité, le choix du paramètre de bande passante est crucial, mais je n'ai pas pu déterminer comment le paramètre de bande passante est calculé. La fonction noyau utilisée est un simple Gaussian Kernel. Est-ce que quelqu'un sait comment le paramètre de bande passante est calculé?

+0

Pas une réponse réelle, mais avez-vous essayé de lire le code? Weka est GPLed. –

+0

J'ai essayé de lire le code, mais je n'ai pas compris comment la bande passante est calculée. – ladi

Répondre

1

Vous pouvez trouver here:

Vous y trouverez

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 est ce qu'il utilise plus tard comme la « variance » des gaussiennes, à savoir la bande passante.

Questions connexes