Python --Lisez des données à partir d'un fichier de données numériques pour trouver des matrices, des valeurs propres et des vecteurs propres distribués co-distribués

Un programme qui lit des données à partir d'un fichier de série de données numériques délimitées par des tabulations comme indiqué ci-dessous et obtient la matrice distribuée co-distribuée, les valeurs propres et les vecteurs propres.

MultipleRegressionAnalysis_Data2.txt


23.3	19.8	14.7	19.7	16.9	14.4
5.24	-5.23	-7.95	11.70	-2.44	-2.14

MultipleRegressionAnalysis_3.py


import numpy as np
import math

def load_data(filename):
    with open(filename) as lines:
        return [[float(data) for data in line.strip().split('\t')]
                for line in lines]
    
def calc_sum_of_square(data_list1, data_list2):
    return (len(data_list1) * sum([data1 * data2 for data1, data2 in zip(data_list1, data_list2)]) - sum(data_list1) * sum(data_list2))/(len(data_list1)*(len(data_list1)-1))

def calc_variance_covariance_matrix(data_list):
    return [[calc_sum_of_square(data_list1, data_list2)/(len(data_list1)-1) for data_list1 in data_list]
            for data_list2 in data_list]
            
def calc_engenvalue_2d(mat):
    lambda1 = ((mat[0][0] + mat[1][1]) + math.sqrt((mat[0][0] - mat[1][1])**2 + 4*(mat[0][1]**2))) / 2
    lambda2 = ((mat[0][0] + mat[1][1]) - math.sqrt((mat[0][0] - mat[1][1])**2 + 4*(mat[0][1]**2))) / 2
    return [lambda1,lambda2]
    
def calc_engenvector_2d(mat, engenvalue):
    a11 = math.fabs(mat[0][1]) / math.sqrt((engenvalue[0] - mat[0][0])**2 + mat[0][1]**2)
    a12 = (engenvalue[0] - mat[0][0])*a11 / mat[0][1]
    a21 = math.fabs(mat[1][0]) / math.sqrt((engenvalue[1] - mat[0][0])**2 + mat[0][1]**2)
    a22 = (engenvalue[1] - mat[0][0])*a21 / mat[0][1]
    return [[a11, a12],[a21, a22]]
            
if __name__ == "__main__":
    data = load_data('MultipleRegressionAnalysis_Data2.txt')
    variance_coveriance_matrix = calc_variance_covariance_matrix(data)
    print("-Matrice co-distribuée distribuée-")
    print(np.array(variance_coveriance_matrix))
    eigenvalue = calc_engenvalue_2d(variance_coveriance_matrix)
    print("-valeur propre-")
    print(eigenvalue)
    engen_vector = calc_engenvector_2d(variance_coveriance_matrix, eigenvalue)
    print("-Vecteur unique-")
    print("z1 = " + str(engen_vector[0][0]) + " x1 " + ("+" if engen_vector[0][1] > 0 else "") + str(engen_vector[0][1]) + " x2")
    print("z2 = " + str(engen_vector[1][0]) + " x1 " + ("+" if engen_vector[1][1] > 0 else "") + str(engen_vector[1][1]) + " x2")

résultat


> python MultipleRegressionAnalysis_3.py
-Matrice co-distribuée distribuée-
[[  2.36693333   2.99921333]
 [  2.99921333  10.61296533]]
-valeur propre-
[11.58843357427205, 1.3914650923945988]
-Vecteur unique-
z1 = 0.30929366776230544 x1 +0.9509665751655736 x2
z2 = 0.9509665751655736 x1 -0.3092936677623057 x2

Recommended Posts

Python --Lisez des données à partir d'un fichier de données numériques pour trouver des matrices, des valeurs propres et des vecteurs propres distribués co-distribués
Python --Lisez les données d'un fichier de données numériques et recherchez la ligne de régression multiple.
Python --Lire les données d'un fichier de données numériques et calculer la covariance
[Python] Comment lire les données de CIFAR-10 et CIFAR-100
Trouvez la matrice Hermite et ses valeurs uniques en Python
Créer un environnement Python et transférer des données vers le serveur
Trouver les valeurs propres d'une vraie matrice symétrique en Python
Lisez le fichier en Python avec un chemin relatif depuis le programme
Lisez l'ancien fichier Word du formulaire d'application Gakushin DC (.doc) à partir de Python et essayez de le faire fonctionner
Comment lire un fichier CSV avec Python 2/3
[Python] Trouvez la matrice de translocation en notation d'inclusion
Lire ligne par ligne à partir d'un fichier avec Python
Différentes façons de lire la dernière ligne d'un fichier csv en Python
Trouver valeur propre / vecteur propre
Modèle de script python pour lire le contenu du fichier
Lisez le fichier xml en vous référant au didacticiel Python
Script Python qui crée un fichier JSON à partir d'un fichier CSV
[Python] Démarrez un fichier de commandes à partir de Python et passez des variables.
[python] Remplacez le nom du fichier image par un numéro de série
Comment changer le fichier de configuration pour qu'il soit lu par Python
Changer la destination de sortie standard en un fichier en Python
[Python] Lisez le fichier csv et affichez la figure avec matplotlib
Ecrire un programme python pour trouver la distance d'édition [python] [distance Levenshtein]
Lire et écrire des fichiers
[Introduction à matplotlib] Lire l'heure de fin à partir des données COVID-19 ♬
Écrire et lire des fichiers
Python> Lire à partir d'une chaîne multiligne au lieu d'un fichier> io.StringIO ()
[Python] Un programme pour trouver le nombre de pommes et d'oranges qui peuvent être récoltées
Transmettez les données OpenCV de la bibliothèque C ++ d'origine à Python
Extraire la valeur la plus proche d'une valeur à partir d'un élément de liste en Python
J'ai essayé de trouver la différence entre A + = B et A = A + B en Python, alors notez
Une histoire sur tout, de la collecte de données au développement d'IA et à la publication d'applications Web en Python (3. développement d'IA)
[Python scraping] Affiche l'URL et le titre du site contenant un mot-clé spécifique dans un fichier texte
Lisez les données de marque de la tyrolienne à partir du fichier csv et effectuez un test arrière
Traitez le résultat de l'exécution de Splunk en utilisant Python et enregistrez-le dans un fichier
Comment obtenir des abonnés et des abonnés de Python à l'aide de l'API Mastodon
Créez un script shell pour exécuter le fichier python plusieurs fois
Comment faire une commande pour lire le fichier de paramètres avec pyramide
À partir d'un livre que le programmeur peut apprendre ... (Python): trouver la valeur la plus fréquente
Obtenez des données de VPS MySQL avec Python 3 et SQL Alchemy
[Python3] Enregistrez la matrice de moyenne et de covariance dans json avec les pandas
[Python] Comment stocker un fichier csv en tant que données de tableau à une dimension
[Python] Lire un fichier csv avec une grande taille de données à l'aide d'un générateur
Trouvez tous les modèles pour extraire un nombre spécifique de l'ensemble
[Python] Une fonction simple pour trouver les coordonnées du centre d'un cercle
Trouver l'intersection d'un cercle et d'une droite (matrice sympy)
Lire et utiliser des fichiers Python à partir de Python
[Python] À propos de la création d'un outil pour créer un nouveau courrier Outlook basé sur les données du fichier JSON et de la partie qui a été interceptée
Python - Obtenez le taux de bitcoin BTC / JPY à partir de bitflyer à intervalles réguliers et enregistrez-le dans un fichier
Lisez les données du lecteur NFC connecté à Raspberry Pi 3 avec Python et envoyez-les à openFrameworks avec OSC
Supprimer ou récupérer des tableaux de fasta en fonction du fichier de liste d'ID
[Python Kivy] Comment obtenir le chemin du fichier par glisser-déposer
Comment diviser et traiter une trame de données à l'aide de la fonction groupby
Lire et formater des fichiers csv mélangés avec des tabulations de virgule avec des pandas Python
[Introduction à Python] Quelle est la différence entre une liste et un taple?
Conseils: [Python] Restaurer et extraire au hasard un tableau à partir d'un fichier fasta
Extraire les lignes qui correspondent aux conditions d'un fichier texte avec python
Commande pour rechercher le fichier d'en-tête cible dans le répertoire d'inclusion de GCC, Clang
Migration de Python2 vers Python3 (Python2 est reconstruit comme un environnement virtuel et coexiste)
Connectez-vous à postgreSQL depuis Python et utilisez des procédures stockées dans une boucle.