Est-ce dû au hasard ?
Fait partie de la section Statistiques pour le ML du Journey Machine Learning de Coddy. Leçon 43 sur 64.
Cinq lecteurs d’une police sans empattement ont battu cinq lecteurs d’une police avec empattement de 6,6 secondes. Si la police ne changeait rien, n’importe quelle durée pourrait se retrouver dans l’un ou l’autre groupe. Mélangeons les valeurs pour illustrer cela :
rng.permutation(a) renvoie une copie mélangée. Répétez l’opération 1000 fois et conservez chaque écart fictif :
serif = np.array([52, 47, 58, 50, 55])
sans = np.array([45, 49, 41, 50, 44])
pooled = np.concatenate([serif, sans])
rng = np.random.default_rng(4)
diffs = []
for i in range(1000):
shuffled = rng.permutation(pooled)
diffs.append(shuffled[5:].mean() - shuffled[:5].mean())Les écarts dus au hasard s’accumulent autour de 0 ; l’écart réel se trouve près du bord. Il s’agit d’un test de permutation.
Avant de croire qu’un modèle en surpasse un autre, vérifie que le fait de mélanger les données ne crée que rarement un écart aussi important.
Défi
MoyenLes chiens ont appris à s’asseoir de deux façons : clicker et treats contiennent les séances de chaque chien. Le code de départ crée rng et shuffles.
- Calculez l’écart réel : la moyenne de treats moins la moyenne de clicker.
- Regroupez
clickerpuistreats; mélangezshufflesfois, séparez àlen(clicker), gardez chaque faux écart dans le même sens ; aucun autre tirage. - Affichez l’écart réel, le premier faux écart, le plus petit et le plus grand, avec 2 décimales.
Pour d’autres chiens :
Real difference: 3.0
First shuffle: -1.0
Smallest shuffled: -3.33
Largest shuffled: 3.67Essayez vous-même
import numpy as np
# Séances d’entraînement nécessaires à chaque chien pour apprendre "sit"
clicker = np.array([9, 12, 8, 11, 10, 7, 13])
treats = np.array([14, 11, 15, 12, 16, 13])
# Ne modifiez pas les lignes ci-dessous
rng = np.random.default_rng(12)
shuffles = 1000
# Écrivez votre code ci-dessous
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Statistiques pour le ML
1Centre et dispersion
Moyenne et médianePercentiles et quartilesVariance et écart-typeÉchantillon ou population ?La valeur la plus fréquenteRécapitulatif : délais de livraison4Échantillons et populations
Population et échantillonLes moyennes d’échantillon varientLa distribution d’échantillonnageDes échantillons plus grands, moins de bruitRécapitulatif : sonder une ville2Distributions
Histogrammes de densitéFormes des donnéesLa courbe normaleLa règle des 68-95-99,7Scores zRécapitulatif : autonomie de la batterie5Valeurs aberrantes
Diagrammes en boîteLa règle de l’écart interquartileLa règle du score ZTraiter les valeurs aberrantesRécapitulatif : anomalies des capteurs8Comparer des groupes
Diagrammes en boîte par groupeDifférence entre les moyennesEst-ce dû au hasard ?Valeurs pLe test tRécapitulatif : test A/B3Les probabilités par simulation
La probabilité comme fréquenceLa loi des grands nombresSommes de désEspérance mathématiqueProbabilité conditionnelleRécapitulatif : les chances au stand de dés6Relations
Lire des nuages de pointsCorrélationMatrice de corrélationCartes thermiques de corrélationCorrélation n’est pas causalitéRécapitulatif : glace et soleil9Mise à l’échelle des caractéristiques
Pourquoi mettre les caractéristiques à l’échelleMise à l’échelle Min-MaxStandardisationStandardScalerRécapitulatif : partenaires d’escaladeEntraînez-vous par vous-même : Compilateur Python en ligne