style1

Procédurier - Utiliser R en mesure et évaluation

Exercices du chapitre 04


Un script regroupe les solutions des exercices du chapitre 04 (Cliquez ici)


Revoyons les différents exercices dans ce script.

##############################################################################
## Auteur: AndréSèb Aubin
##
## Dans ce script
## - Exercices du chapitre 4 (pages 167 à 169)
## - numéro 2
## - numéro 4
## - numéro 5
## - numéro 7
## - numéro 8

##############################################################################

## Exercice chapitre 04 - numéro 2 (p.167)
## Objectifs: dessiner trois courbes d'item (1, 2 et 3) répondant au critères
## spécifiées.

## Nous utiliserons le modèle à deux paramètres, puisqu'il n'est pas question
## de pseudo-chance et donc ci = 0

Theta = seq(-3, 3, by=0.1) ## définition de Theta de -3 à 3

D = 1.7 # fixe dans le modèle à deux paramètres
ai = 1 # varie dans le modèle à deux paramètres * initialisation
bi = 0 # varie dans le modèle à deux paramètres * initialisation

Pi_2p <- 0

## item 1 (avec bi1) dessinons la courbe standard, comme point de départ.
bi1 = 0
ai1 = 1
Pi_2p1 = 1/(1+exp(-D*ai1*(Theta-bi1)))
Pi_2p1

plot(Theta, Pi_2p1, type="l", col="blue")
grid(col = "lightgray", lty = "dotted", lwd = par("lwd"), equilogs = TRUE)
lines(x = c(-3,3), y = c(0.5,0.5), col="lightgray")

## item 2 (avec bi2) * cette courbe doit être près de l'item 1

bi2 = -0.5
ai2 = 1
Pi_2p2 = 1/(1+exp(-D*ai2*(Theta-bi2)))
Pi_2p2

lines(Theta, Pi_2p2, type="l", col="red") # ajout sur le graphique déjà ouvert

## item 3 (avec bi3) * cet item est plus difficile que l'item 1 et 2

bi3 = 1
ai3 = 1
Pi_2p3 = 1/(1+exp(-D*ai3*(Theta-bi3)))
Pi_2p3

lines(Theta, Pi_2p3, type="l", col="green") # ajout sur le graphique déjà ouvert

## Pour vérifier, calculons le maximum de vraisamblance (ML) de chaque item

## Nuréro 02 + COMPL+TER##################################################################


Voici le résultat obtenu:



################################################################################
################################################################################
## Exercice chapitre 04 - numéro 4 (p.167)
## Objectifs: Dessinez les courbes, puis répondre à la question
## Nous utiliserons le modèle à trois paramètres (ai, bi et ci)

Theta = seq(-3, 3, by=0.1) ## définition de Theta de -3 à 3

D = 1.7 # fixe dans le modèle à trois paramètres
ai = 1 # varie dans le modèle à trois paramètres * initialisation
bi = 0 # varie dans le modèle à trois paramètres * initialisation
ci = 0 # varien dans le modèle à trois paramètres * initialisation

Pi_3p <- 0

# item 1 (ai1 = 0.2; bi1 = 0 ; ci1 = 0)

ai1 = 0.2
bi1 = 0
ci1 = 0

Pi_3p1 = ci1 + (1-ci1)/(1+exp(-D*ai1*(Theta-bi1)))

plot(Theta, Pi_3p1, type="l", col="red")
grid(col = "lightgray", lty = "dotted", lwd = par("lwd"), equilogs = TRUE)
lines(x = c(-3,3), y = c(0.5,0.5), col="lightgray")

# item 2 (ai2 = 0.5; bi2 = 0.5 ; ci2 = 0)

ai2 = 0.5
bi2 = 0.5
ci2 = 0

Pi_3p2 = ci2 + (1-ci2)/(1+exp(-D*ai2*(Theta-bi2)))

lines(Theta, Pi_3p2, type="l", col="blue")

# item 3 (ai3 = 2; bi3 = -2 ; ci3 = 0.2)

ai3 = 2
bi3 = -2
ci3 = 0.2

Pi_3p3 = ci3 + (1-ci3)/(1+exp(-D*ai3*(Theta-bi3)))

lines(Theta, Pi_3p3, type="l", col="green")



Voici le résultat obtenu:




################################################################################
################################################################################
## Exercice chapitre 04 - numéro 5 (p.168)
## Objectifs: Retrouver les caractéristiques de la courbe illustrée
## Nous utiliserons le modèle à trois paramètres (ai, bi et ci)

Theta = seq(-3, 3, by=0.1) ## définition de Theta de -3 à 3

D = 1.7 # fixe dans le modèle à trois paramètres
ai = 1 # varie dans le modèle à trois paramètres * initialisation
bi = 0 # varie dans le modèle à trois paramètres * initialisation
ci = 0 # varien dans le modèle à trois paramètres * initialisation

Pi_3p <- 0

## essai 1 (ai = 1; bi = 1.5 ; ci = 0.2)
## Nous savons que ci = 0.2 grÔce au minimum de la courbe
## et que bi = 1.5 grÔce à la situation du point d'inflexion
## ainsi...

ai1 = 1
bi1 = 1.5
ci1 = 0.2

Pi_3p1 = ci1 + (1-ci1)/(1+exp(-D*ai1*(Theta-bi1)))

plot(Theta, Pi_3p1, type="l", col="red", xlim = range(-3, 3), ylim = range(0, 1))
grid(col = "lightgray", lty = "dotted", lwd = par("lwd"), equilogs = TRUE)
lines(x = c(-3,3), y = c(0.5,0.5), col="lightgray")


Voici le résultat obtenu:




# La pente est trop forte, réduisons la valeur de ai
# Essai 2

ai1 = 0.5
bi1 = 1.5
ci1 = 0.2

Pi_3p1 = ci1 + (1-ci1)/(1+exp(-D*ai1*(Theta-bi1)))
lines(Theta, Pi_3p1, type="l", col="blue")


Voici le résultat obtenu:




# La courbe est très près de celle illustrée, et ce malgré le fait que le solutionnaire donne une autre réponse.

################################################################################
################################################################################
## Exercice chapitre 04 - numéro 7 (p.168)
## Objectifs: Retrouver les caractéristiques de la courbe illustrée
## Nous utiliserons le modèle à trois paramètres (ai, bi et ci)

Theta = seq(-3, 3, by=0.1) ## définition de Theta de -3 à 3

D = 1.7 # fixe dans le modèle à trois paramètres
ai = 1 # varie dans le modèle à trois paramètres * initialisation
bi = 0 # varie dans le modèle à trois paramètres * initialisation
ci = 0 # varien dans le modèle à trois paramètres * initialisation

Pi_3p <- 0

## Essai 1 (ai = 0; bi = 0.5 ; ci = 0.6)
## Nous savons que ci = 0.6 grÔce au minimum de la courbe
## et que bi = 0.5 grÔce à la situation du point d'inflexion
## Pour ai, la pente est nulle donc ai = 0
## ainsi...

ai1 = 0
bi1 = 0.5
ci1 = 0.6

Pi_3p1 = ci1 + (1-ci1)/(1+exp(-D*ai1*(Theta-bi1)))

plot(Theta, Pi_3p1, type="l", col="red", xlim = range(-3, 3), ylim = range(0, 1))
grid(col = "lightgray", lty = "dotted", lwd = par("lwd"), equilogs = TRUE)
lines(x = c(-3,3), y = c(0.5,0.5), col="lightgray")


Voici le résultat obtenu:



# La courbe a la bonne pente, mais elle n'est pas au bon endroit...
# Essai 2
# nous savons qu'à Theta = 0.5 -> Pi = 0.6
# alors que 0.6 = ci1 + (1-ci1)/(1 + exp(0))
# ainsi 0.6 = ci1 + (1-ci1)/2 et donc 1.2 = 2ci1 + 1 - ci1 -> ci1 = 0.2

ai1 = 0
bi1 = 0.5
ci1 = 0.2

Pi_3p1 = ci1 + (1-ci1)/(1+exp(-D*ai1*(Theta-bi1)))
lines(Theta, Pi_3p1, type="l", col="blue")


Voici le résultat obtenu:



# Cela correspond à la courbe de l'exercice 7


################################################################################
################################################################################
## Exercice chapitre 04 - numéro 8 (p.168)
## Objectifs: Reproduire la courbe et déterminer sa particularité
## Nous utiliserons le modèle à trois paramètres (ai, bi et ci)

Theta = seq(-3, 3, by=0.1) ## définition de Theta de -3 à 3

D = 1.7 # fixe dans le modèle à trois paramètres
ai = 1 # varie dans le modèle à trois paramètres * initialisation
bi = 0 # varie dans le modèle à trois paramètres * initialisation
ci = 0 # varien dans le modèle à trois paramètres * initialisation

Pi_3p <- 0

# Entrons les valeurs données dans l'équation

ai1 = -0.5
bi1 = 0
ci1 = 0.35

Pi_3p1 = ci1 + (1-ci1)/(1+exp(-D*ai1*(Theta-bi1)))

plot(Theta, Pi_3p1, type="l", col="red", xlim = range(-3, 3), ylim = range(0, 1))
grid(col = "lightgray", lty = "dotted", lwd = par("lwd"), equilogs = TRUE)
lines(x = c(-3,3), y = c(0.5,0.5), col="lightgray")


Voici le résultat obtenu:



# Cette courbe est descendante, ce qui signifie qu'elle est mieux réussie par les
# personne ayant un théta faible.


Retour à la page précédente
Retour à la page principale

Dernière mise à jour faite le 21 janvier 2017 à 13:10 -0800 par AndréSèb

Get Firefox!