Trucs pour LaTeX & R

Transformation angulaire

jeudi 18 juin 2020 par Philippe MICHEL

25/02/2017 : ajout du rappel mathématique

Rappel mathématique

Sur une distribution binomiale de probabilité p sur n observations, on peut démontrer par la méthode du Delta que arcsin(\sqrt{\hat{p}) suit une loi normale d’espérance  \mu = arcsin\left(\sqrt{p}\right) et de variance \sigma^2=\frac{1}{4n}.
On peut donc assez simplement calculer un intervalle de confiance à 95 % par la formule (en appliquant une correction de continuité) :
\left[\Phi\left(\hat{p}-\frac{1}{2n}\right)-1.96\frac{1}{2\sqrt{n}}\right. ;\left.\Phi\left(\hat{p}+\frac{1}{2n}\right)+1.96\frac{1}{2\sqrt{n}}\right]
en posant :
\Phi(x)=\arcsin(\sqrt{x})

Ce calcul est surtout utile quand p/n se rapproche des extrêmes c’est à dire de 0 ou de 1.

(Pires AM, Amado C, Interval estimators for a binomial proportion : comparison of twenty methods. Revstat 6 (2008))

Application dans R

On observe nc cas sur nn (nn>10) observations soit une proportion de pp pour un intervalle de confiance de 95%.

trans.ang <- function(nc,nn){
    pp <- nc/nn
    # Calcul des bornes sur la fonction transformée
    sp <- 1.96/(2*sqrt(nn))
    pinf1 <- asin(sqrt(pp-1/(2*nn)))-sp
    psup1 <- asin(sqrt(pp+1/(2*nn)))+sp
    # Retour à la fonction d'origine
    pinf <- sin(pinf1)^2
    psup <- sin(psup1)^2
    # Affichage du résultat brut, avec 2 chiffres signifcatifs & en pourcentage
    print(paste(pp,pinf,psup))
    print(paste(round(pp,4),"[",round(pinf,4),";",round(psup,4),"]"))
    print(paste(round(pp*100,1),"% [",round(pinf*100,1),"% ;",round(psup*100,1),"% ]"))
 }

Simple, non ?


Accueil | Contact | Plan du site | | Statistiques du site | Visiteurs : 719 / 148381

Suivre la vie du site fr  Suivre la vie du site Statistiques brutes   ?    |    titre sites syndiques OPML   ?

Site réalisé avec SPIP 3.2.1 + AHUNTSIC

Creative Commons License