Je sais que cela pourrait être un peu compliqué, statistiquement, mais c'est mon problème.
J'ai beaucoup de données de plage, c'est-à-dire la taille minimum, maximum et échantillon d'une variable. Pour certaines de ces données, j'ai également une moyenne, mais pas beaucoup. Je veux comparer ces gammes entre elles pour quantifier la variabilité de chaque gamme, et aussi comparer les moyennes. J'ai une bonne raison de supposer que la distribution est symétrique autour de la moyenne et que les données auront une distribution gaussienne. Pour cette raison, je pense pouvoir justifier l'utilisation du point médian de la distribution comme proxy de la moyenne, lorsqu'elle est absente.
Ce que je veux faire, c'est reconstruire une distribution pour chaque plage, puis l'utiliser pour fournir un écart-type ou une erreur standard pour cette distribution. Les seules informations dont je dispose sont les valeurs max et min observées à partir d'un échantillon et le point médian comme indicateur de la moyenne.
De cette façon, j'espère être en mesure de calculer des moyennes pondérées pour chaque groupe, ainsi que de calculer également le coefficient de variation pour chaque groupe, sur la base des données de plage que j'ai et de mes hypothèses (d'une distribution symétrique et normale).
Je prévois d'utiliser R pour ce faire, donc toute aide de code serait également appréciée.
la source
Réponses:
La fonction de distribution cumulative conjointe pour le minimumx(1) et le maximum x(n) pour un échantillon de n d'une distribution gaussienne avec la moyenne μ et l'écart type σ est
oùΦ(⋅) est le CDF gaussien standard. La différenciation par rapport à x(1) et x(n) donne la fonction de densité de probabilité conjointe
oùϕ(⋅) est le PDF gaussien standard. Prendre les termes log & drop qui ne contiennent pas de paramètres donne la fonction log-vraisemblance
Cela ne semble pas très traitable mais il est facile de voir qu'il est maximisée quelle que soit la valeur de par le réglage μ = μ = x ( n ) + x ( 1 )σ , c'est-à-dire le point médian - le premier terme est maximisé lorsque l'argument d'un CDF est le négatif de l'argument de l'autre; les deuxième et troisième termes représentent la probabilité conjointe de deux variables normales indépendantes.μ=μ^=x(n)+x(1)2
Substituant μ dans la log-vraisemblance et écriture r = x ( n ) - x ( 1 ) donne ℓ ( σ , x ( 1 ) , x ( n ) , μ ) = ( n - 2 ) log [ 1 - 2 Φ ( - rμ^ r=x(n)−x(1)
Cette expression doit être numériquement maximisé (par exemple avecσ^ σ^=k(n)⋅r k n
optimize
de R destat
paquet) pour trouver σ . (Il se trouve que σ = k ( n ) ⋅ r , où k est une constante ne dépendant que de n -perhaps quelqu'un mathématiquement plus adroite que je ne pouvais montrer pourquoi.)Les estimations ne sont pas utiles sans une mesure de précision qui l'accompagne. Les informations de Fisher observées peuvent être évaluées numériquement (par exemple avec
hessian
lenumDeriv
package de R ) et utilisées pour calculer des erreurs standard approximatives:I(σ)=-∂2ℓ(σ, μ )
Il serait intéressant de comparer la probabilité et les estimations de la méthode des moments pour en termes de biais (la MLE est-elle cohérente?), De variance et d'erreur quadratique moyenne. Il y a aussi la question de l'estimation pour les groupes où la moyenne de l'échantillon est connue en plus du minimum et du maximum.σ
la source
Vous devez relier la plage à l'écart-type / variance. Soit la moyenne, σ l'écart-type et R = x ( n ) - x ( 1 ) la plage. Ensuite, pour la distribution normale, nous avons que 99,7 % de la masse de probabilité se situe à moins de 3 écarts-types de la moyenne. Cela signifie, en règle générale, qu'avec une probabilité très élevée,μ σ R=x(n)−x(1) 99.7
et
En soustrayant le deuxième du premier, nous obtenons
Le fait d'avoir une valeur pour la moyenne et pour l'écart type caractérise complètement la distribution normale.
la source
Il est simple d'obtenir la fonction de distribution du maximum de la distribution normale (voir "P.max.norm" dans le code). De là (avec un peu de calcul), vous pouvez obtenir la fonction quantile (voir "Q.max.norm").
En utilisant "Q.max.norm" et "Q.min.norm" vous pouvez obtenir la médiane de la plage qui est liée à N. En utilisant l'idée présentée par Alecos Papadopoulos (dans la réponse précédente), vous pouvez calculer sd.
Essaye ça:
la source