[PYTHON] Auswahl der Messdaten

Was ist das

Sie sind Inspektionsingenieur eines Herstellers. Ich habe 100 Messdaten von einem bestimmten Sensor erhalten. Aufgrund verschiedener Umstände möchte ich zeigen, dass diese Messdaten ** "variieren können" **. Ich möchte die Streuung maximieren, indem ich 10 von 100 auswähle. Ich möchte jedoch sagen, dass der Sensor normal ist, also möchte ich ihn ** "Durchschnittswert ist genau" ** machen.

Versuchen Sie es mit Python

Erstellung von Messdaten

Erstellen Sie Messdaten mit Zufallszahlen.

%matplotlib inline
import matplotlib.pyplot as plt
import numpy as np, pandas as pd
np.random.seed(1)
Messdaten= np.random.normal(50,1,100)
plt.hist(Messdaten)
print('Standardabweichung',Messdaten.std())
>>>
Standardabweichung 0.885156213832

image

Lösen Sie mit mathematischer Optimierung

Maximieren Sie die Verteilung. Normalerweise ist es schwierig zu lösen, da es sich um eine quadratische Ganzzahloptimierung handelt. Unter der Annahme, dass der Mittelwert genau ist, ist $ (Wertmittelwert) ^ 2 $ ein fester Wert, sodass das Modell eine lineare oder gemischte Ganzzahloptimierung ist.

from pulp import *
from ortoolpy import addbinvars
Anzahl der Auswahlen= 10
eps = 0.0001

m = LpProblem(sense=LpMaximize)
x = addbinvars(len(Messdaten))
m += lpDot((Messdaten-50)**2, x)
m += lpSum(x) ==Anzahl der Auswahlen
e = lpDot(Messdaten, x) /Anzahl der Auswahlen
m += 50-eps <= e
m +=           e <= 50+eps
m.solve()
%time m.solve() #Lösung
r = np.vectorize(value)(x).astype(int) #Ergebnis
print(LpStatus[m.status])
>>>
Wall time: 181 ms
Optimal
print('durchschnittlich',Messdaten[r>0].mean())
print('Standardabweichung',Messdaten[r>0].std())
>>>
49 im Durchschnitt.9999119632
Standardabweichung 1.82811635001

Der Durchschnitt war genau und die Standardabweichung war mehr als doppelt so hoch wie die ursprünglichen Daten.

das ist alles

Recommended Posts

Auswahl der Messdaten
Vorverarbeitung von Präfekturdaten
Messung der Ausführungszeit
Analyse der Messdaten ①-Memorandum of Scipy Fitting-
Analyse der Messdaten (2) -Hydrobacter und Anpassung, lmfit Empfehlung-
Visualisierung von Daten nach Präfektur
Fourier-Transformation von Rohdaten
Über die Datenverwaltung von Amboss-App-Server
Wahrscheinlichkeitsvorhersage von unausgeglichenen Daten
Differenzierung von Zeitreihendaten (diskret)
10 Auswahlen der Datenextraktion durch pandas.DataFrame.query
Animation von Geodaten durch Geopandas
Empfehlung zur Datenanalyse mit MessagePack
Zeitreihenanalyse 3 Vorverarbeitung von Zeitreihendaten
Datenverarbeitung 2 Analyse verschiedener Datenformate
PyOpenGL GUI Auswahl und Trennung von Zeichnung und GUI
Erläutern Sie den Mechanismus der PEP557-Datenklasse
Grundlagen der Quanteninformationstheorie: Datenkomprimierung (1)
100 Sprachverarbeitung Knock-91: Vorbereitung von Analogiedaten
Holen Sie sich die Spaltenliste und Datenliste von CASTable
Erfassung von Pflanzenwachstumsdaten Erfassung von Daten von Sensoren
Trennung von Design und Daten in matplotlib
Konvertierung von Zeitdaten in 25-Uhr-Notation
Empfehlung von Altair! Datenvisualisierung mit Python
Visualisieren Sie die Exportdaten des Piyo-Protokolls
Beispiel für eine effiziente Datenverarbeitung mit PANDAS
Grundlagen der Quanteninformationstheorie: Datenkomprimierung (2)
[Einführung in Data Scientist] Grundlagen von Python ♬
Kenntnis der Verwendung der Aurora Severless Data API
Ein Memorandum über Probleme beim Formatieren von Daten