Introduction à l'analyse statistique avec SPSS
SPSS est un logiciel d'analyse statistique réputé pour sa facilité d'utilisation et ses fonctionnalités puissantes de traitement des données. Ce guide couvre les opérations fondamentales de SPSS, y compris l'importation et la gestion des données, les statistiques descriptives, les méthodes inférentielles, les techniques non paramétriques, le clustering, l'analyse discriminante et l'analyse de survie. Des exemples concrets permettent aux utilisateurs de réaliser diverses analyses statistiques, de créer des visualisations efficaces et de produire des rapports techniques.
- Interface et opérations de base de SPSS
1.1 Présentation de SPSS
SPSS, ou Statistical Package for the Social Sciences, est un outil polyvalent pour la gestion des données, les aanlyses statistiques, la création de graphiques et la rédaction de rapports. Il convient aussi bien aux débutants qu'aux professionnels.
1.2 Démarrage et disposition de l'interface
Lors du lancement de SPSS, l'interface se compose principalement d'une barre de menus, d'une barre d'outils, d'une vue des données pour la saisie et d'une vue des variables pour définir les attributs des variables comme le nom, le type et les étiquettes.
1.3 Flux de travail typique
Pour commencer, importez ou saisissez des données dans la vue des données, vérifiez leur intégrité, appliquez des analyses via le menu Analyze, et consultez les résultats dans la vue de sortie pour l'édition ou l'exportation.
- Importation et gestion des données
2.1 Méthodes d'importation des données
2.1.1 Importation depuis Excel
Pour importer des données Excel, accédez à Fichier > Ouvrir > Données, sélectionnez le fichier Excel spécifié, et définissez la plage de données si nécessaire. Les feuilles multiples peuvent être importées séparément.
2.1.2 Importation de fichiers texte
Les fichiers texte comme CSV sont importés via Fichier > Ouvrir > Données, avec le type de fichier défini sur fichier texte. Utilisez l'assistant d'importation pour spécifier les délimiteurs et les formats de variables.
2.2 Prétraitement des données
2.2.1 Codage et conversion des types
Le recodage ajuste les valeurs des variables. Par exemple, transformer des données textuelles en variables catégoriellse ordonnées peut être fait avec la syntaxe suivante :
RECODE var_source (0=0)(1=1)(2=2)(3=3) INTO var_cible.
EXECUTE.
2.2.2 Gestion des valeurs manquantes
Pour imputer les valeurs manquantes par la moyenne, utilisez la commande COMPUTE :
COMPUTE var_imputee = MEAN(var_originale).
EXECUTE.
2.2.3 Filtrage et tri des données
Pour filtrer les données, par exemple conserver les enregistrements où une variable dépasse un seuil :
SELECT IF var_filtre > 15.
Pour trier les données selon une variable :
SORT CASES BY var_tri.
2.3 Nettoyage des données
2.3.1 Détection et suppression des doublons
Les doublons peuvent être supprimés en identifiant les enregistrements répétés :
DELETE VARIABLES all.
SELECT IF $CASENUM <> LAG($CASENUM).
EXECUTE.
2.3.2 Identification et gestion des valeurs aberrantes
Les valeurs aberrantes sont détectées par des méthodes comme les boîtes à moustaches. Pour les supprimer, appliquez des filtres basés sur l'intervalle interquartile :
DELETE VARIABLES var_aberrante IF var_aberrante < Q1 - 1.5 * IQR | var_aberrante > Q3 + 1.5 * IQR.
EXECUTE.
- Statistiques descriptives
3.1 Calcul des statistiques de base
3.1.1 Indicateurs de tendance centrale
La moyenne, la médiane et le mode sont calculés via Analyze > Descriptive Statistics > Descriptives, en sélectionnant les options appropriées dans le menu Options.
3.1.2 Indicateurs de dispersion
La variance, l'écart-type, l'étendue et l'intervalle interquartile sont obtenus de manière similaire en cochant les cases correspondantes.
3.2 Visualisation de la distribution des données
3.2.1 Tableau de fréquences
Pour générer un tableau de fréquences, utilisez Analyze > Descriptive Statistics > Frequencies, et configurez les graphiques en barres.
3.2.2 Histogrammes et boîtes à moustaches
Les histogrammes et boîtes à moustaches sont créés via Graphs > Legacy Dialogs > Histogram ou Boxplot, en ajoutant des courbes normales si nécessaire.
- Méthodes statistiques inférentielles
4.1 Estimation des paramètres
4.1.1 Estimation ponctuelle et par intervalle
L'estimation ponctuelle de la moyenne est obtenue avec DESCRIPTIVES VARIABLES=donnees /STATISTICS=MEAN. L'estimation par intervalle, comme un intervalle de confiance à 95%, utilise T-TEST avec des paramètres spécifiques :
T-TEST
/TESTVAL=50
/MISSING=ANALYSIS
/VARIABLES=donnees
/CRITERIA=CI(.95).
4.1.2 Exemple d'estimation pour une distribution normale
Pour des données d'échantillon, calculez la moyenne et l'écart-type avec DESCRIPTIVES, puis obtenez l'intervalle de confiance via T-TEST en spécifiant une valeur test.
4.2 Tests d'hypothèses
4.2.1 Méthodes courantes de test
Les tests t et ANOVA sont utilisés pour comparer les moyennes. Par exemple, un test t pour un échantillon :
ONE-SAMPLE T TEST
/VARIABLES=mesure
/TESTVAL=10
/MISSING=ANALYSIS
/CRITERIA=CI(.95).
4.2.2 Exemples de tests
Pour un test t à deux échantillons indépendants, spécifiez les groupes avec T-TEST /GROUPS=grpe(1 2) pour comparer les moyennes entre deux conditions.
- Tests statistiques non paramétriques
5.1 Concepts de base
Les tests non paramétriques ne supposent pas de distribution spécifique des données, ce qui les rend adaptés aux données ordinales, asymétriques ou de petite taille. Ils diffèrent des tests paramétriques comme le test t en termes d'hypothèses sous-jacentes.
5.2 Exemples d'application
5.2.1 Test de Mann-Whitney U
Ce test compare deux échantillons indépendants sans hypothèse de normalité. En Python, avec scipy :
from scipy.stats import mannwhitneyu
echantillon_A = [5, 10, 15, 20, 25]
echantillon_B = [6, 12, 18, 24, 30]
stat_U, p_val = mannwhitneyu(echantillon_A, echantillon_B, alternative='two-sided')
print(f'Statistique U : {stat_U}')
print(f'Valeur p : {p_val}')
5.2.2 Test de Kruskal-Wallis H
Pour comparer plus de deux échantillons indépendants, utilisez Kruskal-Wallis en Python :
from scipy.stats import kruskal
données_1 = [3, 6, 9, 12, 15]
données_2 = [4, 8, 12, 16, 20]
données_3 = [5, 10, 15, 20, 25]
stat_H, p_val = kruskal(données_1, données_2, données_3)
print(f'Statistique H : {stat_H}')
print(f'Valeur p : {p_val}')
- Analyse de clusters et analyse discriminante
6.1 Méthodes d'analyse de clusters
6.1.1 K-means
L'algorithme K-means partitionne les données en k clusters en minimisant la variance intra-cluster. En Python avec scikit-learn :
from sklearn.cluster import KMeans
import numpy as np
points = np.array([[2, 4], [4, 8], [6, 12], [8, 16], [10, 20]])
kmeans = KMeans(n_clusters=2, random_state=42).fit(points)
centres = kmeans.cluster_centers_
labels = kmeans.predict(points)
print(f'Centres des clusters : {centres}')
print(f'Affectations : {labels}')
6.1.2 Clustering hiérarchique
Le clustering hiérarchique crée une structure imbriquée de clusters. Utilisez scipy pour générer un dendrogramme :
from scipy.cluster.hierarchy import dendrogram, linkage
import matplotlib.pyplot as plt
données = np.array([[1, 2], [2, 3], [3, 4], [8, 9], [9, 10], [10, 11]])
matrice_lien = linkage(données, method='ward')
dendrogram(matrice_lien)
plt.show()
6.2 Analyse discriminante
6.2.1 Analyse discriminante de Fisher
Cette méthode trouve des fonctions discriminantes pour séparer les classes. En Python avec scikit-learn :
from sklearn.discriminant_analysis import LinearDiscriminantAnalysis as LDA
features = np.array([[3, 5], [4, 6], [5, 7], [10, 12], [11, 13], [12, 14]])
classes = np.array([0, 0, 0, 1, 1, 1])
lda = LDA(n_components=1)
lda.fit(features, classes)
nouvelle_observation = np.array([[7, 8]])
prédiction = lda.predict(nouvelle_observation)
print(f'Classe prédite : {prédiction}')
- Outils d'analyse de survie
7.1 Caractéristiques des données de survie
Les données de survie concernent le temps jusqu'à un événement, avec des considérations comme la censure à droite, où l'événement n'est pas observé pendant l'étude.
7.2 Fonctions de survie et analyse des risques
7.2.1 Estimation de la fonction de survie par Kaplan-Meier
La méthode de Kaplan-Meier est non paramétrique et gère les données censurées. Elle estime la probabilité de survie à différents temps.
7.2.2 Modèle de risques proportionnels de Cox
Le modèle de Cox analyse l'effet des covariables sur le temps de survie, avec l'hypothèse que les risques sont proportionnels. Il est exprimé comme :
$$ h(t, X) = h_0(t) \exp(\beta_1 X_1 + \beta_2 X_2 + ... + \beta_p X_p) $$
Les coefficients sont estimés par la méthode de vraisemblance partielle, sans spécifier la forme de la fonction de risque de base.