[PYTHON] Comprendre les types de données et le début de la régression linéaire

Hier, j'ai expliqué les points à noter concernant les erreurs statistiques comme Cinq points de vue pour détecter les mensonges des statistiques.

Aujourd'hui, je voudrais me recentrer sur les données que j'essaye d'analyser.

** KPI (indicateur de performance clé) ** est une valeur numérique qui indique quantitativement ce qui est nécessaire pour atteindre l'objectif. Ce n'est pas le KPI qui veut être façonné et beau, mais c'est le KPI qui perd 10 kilos ou lève le nez de 1,5 cm de trois mois.

Si vous ne comprenez pas exactement quel type de données vous essayez d'utiliser comme KPI, vous conduisez souvent au mauvais KPI, et vous courez le risque de conduire à une analyse de données dénuée de sens.

Qu'est-ce qu'une variable?

Nous identifierons la condition de la personne enquêtée dans divers domaines dans divers domaines tels que les enquêtes sociales et les statistiques médicales. Par exemple, imaginez un questionnaire ou un graphique. On vous demandera quel est votre sexe et quel âge vous avez. Les valeurs prises à ce moment sont grossièrement divisées en ** variable discrète ** et ** variable continue **. Parmi celles-ci, les variables discrètes sont celles qui peuvent clarifier les limites des valeurs mesurées. Par exemple, le sexe. Cette variable discrète peut être divisée en deux selon qu'elle peut être commandée.

  1. Variables discrètes non ordonnables (par exemple, sexe, nationalité, société à laquelle elles appartiennent)
  2. Variables discrètes pouvant être commandées (par exemple, notes: 1. excellente 2. bonne 3. possible 4. non)
  3. Variable continue

Qu'est-ce qu'une échelle

Les variables sont classées en fonction de leur niveau d'échelle comme suit:

  1. ** Échelle nominale ** Les variables qui sont données sous forme de catégories simples et ne peuvent pas être ordonnées sont des échelles nominales. Cela inclut le lieu d'origine et l'entreprise à laquelle vous appartenez. Les échelles nominales, bien entendu, ne peuvent pas être moyennées. Cependant, vous pouvez prendre la valeur la plus fréquente.

  2. ** Échelle de commande ** Une mesure pour évaluer les variables discrètes commandables mentionnées ci-dessus. Le classement etc. correspond à cela. C'est juste une commande, donc vous ne pouvez pas calculer que c'est deux fois plus que la deuxième personne parce que c'est la première. En effet, l'échelon n'est pas constant, car la personne à la 1ère place est légèrement différente de la personne à la 2ème place et la personne à la 3ème place ou moins est très différente. Vous ne pouvez pas calculer la moyenne ou la variance.

  3. ** Échelle d'intervalle ** C'est une variable continue qui ne part pas de zéro. Par exemple, l'heure, la température, etc. On ne peut pas évaluer que l'heure est 20h00, qui est deux fois plus chaude que 10 heures, ou que la température est de 30 degrés, ce qui est deux fois plus chaude que 15 degrés. Cependant, la différence par rapport à l'échelle d'ordre est que l'intervalle lui-même est significatif. Vous pouvez obtenir des statistiques récapitulatives telles que la moyenne et la variance, mais pas les ratios.

  4. ** Échelle proportionnelle ** C'est une variable continue partant de zéro. Par exemple, ventes, prix, nombre d'utilisateurs, jours écoulés depuis un certain jour, scores de test sur 100.

Qu'est-ce qu'une valeur représentative?

Une statistique récapitulative est un nombre obtenu en effectuant des opérations statistiques pour résumer les données. Les valeurs représentatives sont des valeurs populaires qui sont particulièrement utilisées dans les statistiques récapitulatives. En parlant de moyenne, vous la connaîtrez. Il est souvent utilisé au quotidien, y compris pour le calcul de l'argent par habitant lorsque tout le monde organise une fête.

  1. Valeur moyenne

Elle est également appelée la moyenne arithmétique, qui est la somme de toutes les valeurs observées et divisée par le nombre. Puisqu'il est obtenu à partir de toutes les données, il a l'avantage de représenter la variation globale. L'inconvénient est qu'il est affecté par les valeurs aberrantes. Pour cette raison, des moyennes de coupe telles que la moyenne à l'exclusion des quelques pourcentages supérieurs ou inférieurs peuvent être utilisées.

  1. Médiane

C'est la valeur qui se trouve exactement au milieu lorsque les valeurs observées sont réorganisées. Ceci est efficace lorsque la forme de distribution est inconnue ou lorsqu'elle est censée contenir de nombreuses valeurs aberrantes.

  1. Valeur la plus fréquente

Comme son nom l'indique, c'est la valeur la plus observée.

Dans tous les cas, il faut noter que certaines informations manquent car il ne s'agit que d'un résumé.

Exemple

Il montre la répartition des âges obtenue en examinant le nombre de membres d'un jardin d'enfants.

âge Nombre de personnes
3 15
4 28
5 31
6 15
22 1
25 1
46 1
49 1
70 1
75 1

Considérez lequel des éléments ci-dessus est le plus approprié comme valeur représentative dans ce cas.

Régression linéaire

Je parle de variables depuis longtemps. Faisons quelque chose qui semble être des statistiques. Supposons que vous ayez les variables suivantes: Il s'agit d'un tableau indiquant l'âge du client acheteur et le prix d'achat dans un magasin de cosmétiques.

âge prix(Unité 100/Cercle)
24 236
27 330
29 375
34 392
42 460
43 525
51 578

À ce stade, l'âge est une échelle d'intervalle et le prix est une échelle proportionnelle.

Tracer les données

Plot dessine essentiellement un graphique à partir de variables. Pourquoi dessiner un graphique? En dessinant un graphique, les variables sont illustrées et visualisées avec des symboles visuels. Cela facilite la compréhension des données et vous aide à formuler des hypothèses.

NumPy et matplotplib de Python sont d'excellentes bibliothèques qui sont très souvent utilisées en mathématiques statistiques et sont illustrées par des méthodes statistiques. La fonction pour est extrêmement puissante et facile à utiliser. Quoi qu'il en soit, dessinons un diagramme de dispersion.

import numpy as np #Chargement de NumPy
import matplotlib.pyplot as plt #Chargement de matplotlib

v1 = np.array([24, 27, 29, 34, 42, 43, 51]) #Liste représentant l'âge
v2 = np.array([236, 330, 375, 392, 460, 525, 578]) #prix

plt.xlim(20, 55) #Spécifiez la plage de l'axe X
plt.ylim(200, 600) #Spécifiez la plage de l'axe Y
plt.xlabel('Age') #Étiquette de l'axe X pour l'âge
plt.ylabel('Price') #Étiquette de l'axe Y pour le prix
plt.plot(v1, v2, 'o', color="blue") #dessiner
plt.show() #Afficher une image à l'écran
plt.savefig("image.png ") #Enregistrez l'image avec un nom de fichier

J'ai fait un diagramme de dispersion comme celui-ci.

image.png

Trouvez la fonction linéaire

À propos, en regardant la figure, il semble que le prix des produits cosmétiques achetés a tendance à augmenter avec le vieillissement du client. Avec le sens humain, c'est comme tracer une ligne droite vers le haut vers la droite.

Mathématiquement, la régression linéaire est un type d'analyse de régression qui utilise une fonction spécifique telle qu'une fonction linéaire (y = 2x, etc.) ou une courbe logarithmique qui est supposée à partir d'un modèle approprié.

Tout d'abord, effectuons une régression linéaire par programmation.

import numpy as np
import matplotlib.pyplot as plt

v1 = np.array([24, 27, 29, 34, 42, 43, 51])
v2 = np.array([236, 330, 375, 392, 460, 525, 578])

def phi(x):
    return [1, x, x**2, x**3]

def f(w, x):
    return np.dot(w, phi(x))

PHI = np.array([phi(x) for x in v2])
w = np.linalg.solve(np.dot(PHI.T, PHI), np.dot(PHI.T, v1))

ylist = np.arange(200, 600, 10)
xlist = [f(w, x) for x in ylist]

plt.plot(xlist, ylist, color="red")
plt.xlim(20, 55)
plt.ylim(200, 600)
plt.xlabel('Age')
plt.ylabel('Price')
plt.plot(v1, v2, 'o', color="blue")
plt.show()
plt.savefig("image2.png ")

De cette façon, la ligne droite (= fonction linéaire) a été trouvée. Il semble que vous ayez une solution approximative.

image2.png

Je voudrais laisser l'histoire détaillée de la régression linéaire aux manuels, mais la prochaine fois, j'aimerais examiner la régression linéaire et ses applications.

référence

Introduction aux statistiques sociales (diffusion de matériel pédagogique universitaire) http://www.amazon.co.jp/dp/4595313705

[PDF] Introduction aux statistiques - Hideo Konami http://ruby.kyoto-wu.ac.jp/~konami/Text/Statistics.pdf

Visualisation des données pour les ingénieurs [Pratique] Introduction ~ Visualisation Web avec D3.js http://www.amazon.co.jp/dp/4774163260

Recommended Posts

Comprendre les types de données et le début de la régression linéaire
Avec les types de données algébriques et FizzBuzz
Avec les types de données algébriques et la correspondance de modèles
Avec les types de données algébriques et la programmation orientée objet
[Apprentissage automatique] Comprendre la régression linéaire simple à partir de scikit-learn et des mathématiques
Régression linéaire
Premier TensorFlow (édition révisée) - Régression linéaire et logistique
Différence entre la régression linéaire, la régression Ridge et la régression Lasso
Variables Python et types de données appris avec la chimio-automatique
Comprendre la régression logistique (1) _ À propos des cotes et de la transformation logistique
fonctions cv2 et types de données (liaison python OpenCV)
"Régression linéaire" et "Version probabiliste de la régression linéaire" en Python "Régression linéaire de Bayes"
Régression linéaire avec statsmodels
Régression linéaire d'apprentissage automatique
Régression avec un modèle linéaire
[Apprentissage automatique] Comprendre la régression logistique à partir de scikit-learn et des mathématiques