Bonjour,
Comment déterminer le taux de bonne prédiction d'un modèle à partir d'une table de contingence que l'on a tracé avec un proc Freq?
Merci d'avance...
Version imprimable
Bonjour,
Comment déterminer le taux de bonne prédiction d'un modèle à partir d'une table de contingence que l'on a tracé avec un proc Freq?
Merci d'avance...
Le taux de bonnes prédiction représente le pourcentage de paires discordantes entre tes valeurs prédites et tes valeurs observées.
Oui mais peut on déterminer ce taux à partir d'un proc...
Ben oui : tu fais une proc Freq pour croiser prédictions et réalité, avec les options NOFREQ, NOCOL et NOROW. Il n'y a qu'à additionner les pourcentages dans les 2 cases où prédiction et réalité concordent.
Pour revenir à la dernière réponse:
Je vous décrit ma table de contingence : beta*betachapeau (où beta est le paramètre à estimer et betachapeau la réalisation du paramètre beta)Citation:
"Il n'y a qu'à additionner les pourcentages dans les 2 cases où prédiction et réalité concordent"
beta suit une distribution bernouilli ( 2 valeurs 0 et 1)
betachapeau prend des valeurs entre 0 et 1 (borne non compris).
Dans mon échantillon, j'ai 600 données.
Question:
Comment additionner les pourcentages dans les 2 cases où prédiction et réalité concordent?
Ps: si je ne suis pas clair, n'hésitez pas à me le demander :roll:
Merci!!!
Bonjour,
En travaillant sur la table "MaTable" obtenue ci-dessous à partir de la proc freq tu devrais pouvoir t'en sortir.
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14 DATA base; INPUT X$ Y$ effectifs; CARDS ; A1 B1 10 A2 B1 22 A1 B2 12 A2 B2 9 ; ODS OUTPUT CrossTabFreqs=MaTable; PROC FREQ DATA=base; TABLE x*y; WEIGHT effectifs; RUN;
Tu dois d'abord déterminer un seuil qui séparera les prédictions en "prédit 1" et "prédit 0" avant de pouvoir calculer qui est bien classé ou non.
Dans la proc LOGISTIC tu as l'option CTABLE qui te permet de balayer toute une série de seuils.
Si tu as déjà un seuil en tête (qui minimise un coût par exemple, ou un optimum de courbe ROC), tu peux faire une étape DATA avec IF THEN ELSE pour créer une nouvelle variable 0/1 selon que BETACHAPEAU dépasse ou non le seuil (ou, ce qui aurait ma préférence, juste créer un format que tu appliques à BETACHAPEAU directement dans la proc FREQ).
Bon courage.