Python - Lesen Sie Daten aus einer numerischen Datendatei, um die verteilte, gemeinsam verteilte Matrix, Eigenwerte und Eigenvektoren zu finden

Ein Programm, das Daten aus einer durch Tabulatoren getrennten numerischen Datenreihendatei liest, wie unten gezeigt, und die verteilte, gemeinsam verteilte Matrix, Eigenwerte und Eigenvektoren erhält.

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("-Verteilte mitverteilte Matrix-")
    print(np.array(variance_coveriance_matrix))
    eigenvalue = calc_engenvalue_2d(variance_coveriance_matrix)
    print("-Eigenwert-")
    print(eigenvalue)
    engen_vector = calc_engenvector_2d(variance_coveriance_matrix, eigenvalue)
    print("-Einzigartiger Vektor-")
    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")

Ergebnis


> python MultipleRegressionAnalysis_3.py
-Verteilte mitverteilte Matrix-
[[  2.36693333   2.99921333]
 [  2.99921333  10.61296533]]
-Eigenwert-
[11.58843357427205, 1.3914650923945988]
-Einzigartiger Vektor-
z1 = 0.30929366776230544 x1 +0.9509665751655736 x2
z2 = 0.9509665751655736 x1 -0.3092936677623057 x2

Recommended Posts

Python - Lesen Sie Daten aus einer numerischen Datendatei, um die verteilte, gemeinsam verteilte Matrix, Eigenwerte und Eigenvektoren zu finden
Python - Lesen Sie Daten aus einer numerischen Datendatei und suchen Sie die multiple Regressionslinie.
Python - Lesen Sie Daten aus einer numerischen Datendatei und berechnen Sie die Kovarianz
[Python] Lesen von Daten aus CIFAR-10 und CIFAR-100
Finden Sie die Hermite-Matrix und ihre eindeutigen Werte in Python
Erstellen Sie eine Python-Umgebung und übertragen Sie Daten auf den Server
Finden Sie die Eigenwerte einer reellen symmetrischen Matrix in Python
Lesen Sie die Datei in Python mit einem relativen Pfad aus dem Programm
Lesen Sie das alte Gakushin DC-Antragsformular Word-Datei (.doc) von Python und versuchen Sie, es zu bedienen
Lesen einer CSV-Datei mit Python 2/3
[Python] Finden Sie die Translokationsmatrix in Einschlussnotation
Lesen Sie mit Python Zeile für Zeile aus der Datei
Verschiedene Möglichkeiten, die letzte Zeile einer CSV-Datei in Python zu lesen
Finden Sie den Eigenwert / Eigenvektor
Vorlage des Python-Skripts zum Lesen des Inhalts der Datei
Lesen Sie die XML-Datei anhand des Python-Tutorials
Python-Skript, das eine JSON-Datei aus einer CSV-Datei erstellt
[Python] Starten Sie eine Batchdatei aus Python und übergeben Sie Variablen.
[Python] Ändern Sie den Namen der Bilddatei in eine Seriennummer
So wechseln Sie die Konfigurationsdatei, die von Python gelesen werden soll
Ändern Sie das Standardausgabeziel in eine Datei in Python
[Python] Lesen Sie die CSV-Datei und zeigen Sie die Abbildung mit matplotlib an
Schreiben Sie ein Python-Programm, um die Bearbeitungsentfernung [Python] [Levenshtein-Entfernung] zu ermitteln.
Dateien lesen und schreiben
[Einführung in matplotlib] Lesen Sie die Endzeit aus den COVID-19-Daten ♬
Dateien schreiben und lesen
Python> Aus einer mehrzeiligen Zeichenfolge anstelle einer Datei lesen> io.StringIO ()
[Python] Ein Programm, um die Anzahl der Äpfel und Orangen zu ermitteln, die geerntet werden können
Übergeben Sie die OpenCV-Daten der ursprünglichen C ++ - Bibliothek an Python
Extrahieren Sie den Wert, der einem Wert am nächsten kommt, aus einem Listenelement in Python
Ich habe versucht, den Unterschied zwischen A + = B und A = A + B in Python herauszufinden
Eine Geschichte über alles von der Datenerfassung über die KI-Entwicklung bis hin zur Veröffentlichung von Webanwendungen in Python (3. KI-Entwicklung)
[Python-Scraping] Geben Sie die URL und den Titel der Site mit einem bestimmten Schlüsselwort in eine Textdatei ein
Lesen Sie die Zipline-Markendaten aus der CSV-Datei und führen Sie einen Backtest durch
Verarbeiten Sie das Ausführungsergebnis von Splunk mit Python und speichern Sie es in einer Datei
So erhalten Sie mithilfe der Mastodon-API Follower und Follower von Python
Erstellen Sie ein Shell-Skript, um die Python-Datei mehrmals auszuführen
So erstellen Sie einen Befehl zum Lesen der Einstellungsdatei mit Pyramide
Aus einem Buch, das der Programmierer lernen kann ... (Python): Finden Sie den häufigsten Wert
Holen Sie sich Daten von VPS MySQL mit Python 3 und SQL Alchemy
[Python3] Speichern Sie die Mittelwert- und Kovarianzmatrix in json mit Pandas
[Python] Speichern einer CSV-Datei als eindimensionale Array-Daten
[Python] Lesen Sie eine CSV-Datei mit großen Datenmengen mithilfe eines Generators
Finden Sie alle Muster, um eine bestimmte Zahl aus dem Satz zu extrahieren
[Python] Eine einfache Funktion zum Ermitteln der Mittelkoordinaten eines Kreises
Finden Sie den Schnittpunkt eines Kreises und einer geraden Linie (Sympymatrix)
Lesen und verwenden Sie Python-Dateien aus Python
[Python] Informationen zum Erstellen eines Tools zum Erstellen einer neuen Outlook-E-Mail basierend auf den Daten der JSON-Datei und dem Teil, der abgefangen wurde
Python - Holen Sie sich in regelmäßigen Abständen die Bitcoin-Rate BTC / JPY von Bitflyer und speichern Sie sie in einer Datei
Lesen Sie die Daten des NFC-Lesegeräts, das mit Python an Raspberry Pi 3 angeschlossen ist, und senden Sie sie mit OSC an openFrameworks
Entfernen oder Abrufen von Arrays aus Fasta gemäß der ID-Listendatei
[Python Kivy] So erhalten Sie den Dateipfad durch Ziehen und Ablegen
Teilen und Verarbeiten eines Datenrahmens mithilfe der Groupby-Funktion
Lesen und formatieren Sie CSV-Dateien gemischt mit Komma-Registerkarten mit Python-Pandas
[Einführung in Python] Was ist der Unterschied zwischen einer Liste und einem Taple?
Tipps: [Python] Stellt ein Array nach dem Zufallsprinzip wieder her und extrahiert es aus einer Fasta-Datei
Extrahieren Sie mit Python Zeilen, die den Bedingungen entsprechen, aus einer Textdatei
Befehl zum Durchsuchen der Zielheaderdatei aus dem Include-Verzeichnis von GCC, Clang
Migration von Python2 zu Python3 (Python2 wird als virtuelle Umgebung neu erstellt und existiert gleichzeitig)
Stellen Sie von Python aus eine Verbindung zu postgreSQL her und verwenden Sie gespeicherte Prozeduren in einer Schleife.