Nützlich für den Alltag !? Halbautomatisierung der stärksten experimentellen Planungsmethode von COSPA mit Python

<! - Titel Wie man mit ein paar Experimenten mit Python viele Informationen erhält Erstellen Sie mit Python automatisch effiziente Versuchspläne Erstellen Sie mit Python automatisch einen guten Versuchsplan für Cospa Ich habe 30.000 Mal experimentiert, aber tatsächlich waren 16 Mal genug 30.000 Experimente auf 16 verkürzen Nützlich für den Alltag !? ->

Überblick

Was ist die experimentelle Planungsmethode (wie nützlich ist sie)

Experimentelles Design (Design of Experiments) ist eine Anwendung von Statistiken, die darauf abzielt, effiziente experimentelle Methoden zu entwerfen und die Ergebnisse angemessen zu analysieren. Gibt es. Aus Wikipedia

Angenommen, Sie möchten wissen, welcher Effekt unter verschiedenen Parametern (Ursachen) in wissenschaftlichen Experimenten am größten ist. Die Versuchsplanung kann verwendet werden, um die Anzahl der ** Experimente, die zur Untersuchung erforderlich sind, erheblich zu reduzieren.

Es scheint schwierig zu schreiben, aber tatsächlich ist diese experimentelle Planungsmethode auch in alltäglichen Situationen nützlich. ** ** **

Nehmen Sie als Beispiel das Kochen. ** Ich möchte leckeres Curry machen **, als Parameter, der die Köstlichkeit von Curry bestimmt

--Boil Zeit

Probieren Sie zwei Typen gleichzeitig aus ** Finden Sie heraus, welche Parameter Einfluss darauf haben, wie lecker es ist **.

Parameter 1 2
Eintopfzeit 20 Minuten 60 Minuten
Weizenmehlverhältnis 5% 10%
Arten von Currypulver Yokosuka Marine Vermont

Wenn Sie im Beispiel der obigen Tabelle diese mit allen Kombinationen ausprobieren,

2 * 2 * 2 = ** Sie müssen 8 Mal Curry essen. ** **.

Unter Verwendung der experimentellen Planungsmethode

Essen Sie einfach 4 Mal und Sie werden sehen, welche Faktoren Einfluss darauf haben, wie lecker es ist.

Kraft der experimentellen Planungsmethode

Es ist ziemlich erstaunlich, nur die Anzahl der Male zu halbieren (8⇒4), Je mehr Parameter vorhanden sind, desto leistungsfähiger ist die experimentelle Planungsmethode.

――Wenn es 7 Parameter gibt, beträgt die Gesamtzahl der Kombinationen ** 128-mal ** ⇒ Bei der experimentellen Planungsmethode ist ** 8-mal ausreichend! ** **. --Wenn es 15 Parameter gibt, beträgt die Gesamtzahl der Kombinationen ** 32768-mal ** ⇒ Mit der experimentellen Planungsmethode ** reicht das 16-fache! !! ** ** **

Wäre es nicht toll, so effizient zu sein?

Welche Art von Person ist effektiv

Wie oben erwähnt, sollte es eine breite Palette von Anwendungen haben, wie z. B. ** tägliches Leben, Forschungsleben, Arbeitsleben usw. **. Das Leben wird bequemer, wenn man es benutzt.

Als Beispiel für mich selbst, wenn ich es als Universitätsstudent wüsste, könnte ich meine Forschung stark rationalisieren, aber ich wusste es zu diesem Zeitpunkt nicht. "** Ich möchte mich als Student unterrichten **" ist die Motivation für das Schreiben dieses Artikels.

Und diese experimentelle Planungsmethode kann auch für das ** kostenlose Lernen von Grundschülern während der Sommerferien ** verwendet werden. Das Grundprinzip ist, dass ** nur "Durchschnitt" verwendet wird, wenn die Wirkung von Parametern auf diese Weise berechnet wird **. (Es kann notwendig sein, dass ein verständnisvoller Erwachsener Unterstützung bietet.)

Na und? Warum Python?

Die Versuchsplanungsmethode ist ein sehr leistungsfähiges Effizienzwerkzeug, daher möchte ich, dass viele Leute sie verwenden. Es ist jedoch etwas schwierig zu lernen, wie man es benutzt.

Dies ist eine persönliche Idee, aber eine solche Technik ist wie eine mathematische Formel. Die technische Idee ist, dass ich es normalerweise leicht als Werkzeug verwenden möchte.

** Automatisieren Sie komplexe Prozeduren mit Python, damit Sie es regelmäßig als Tool verwenden können! ** **. Das ist der Grund für diese Python-Konvertierung.

Ich möchte wissen, wie es funktioniert

Wie bei mathematischen Formeln denke ich, dass Sie den Inhalt einmal verstehen müssen. Sobald ich es jedoch verstanden habe, denke ich nicht, dass es notwendig ist, sich den Inhalt jedes Mal zu merken, wenn ich ihn tatsächlich benutze.

Bitte studieren Sie unter Bezugnahme auf die unten stehenden Links.

Einführung in die experimentelle Planung Teil 2

Ich möchte, dass Sie den ** Mechanismus verstehen, der die Anzahl der Experimente mithilfe der ** orthogonalen Tabelle der Versuchsplanungsmethode ** reduzieren kann.

Experimentelle Planungsmethode mit Python --Design_of_Experiment (DoE) mit Python in Jupyter Notebook

Dieses Mal habe ich Folgendes mit Python + Jupyter-Notebook implementiert. Die Jupyter-Notizbuchdatei wird auf GitHub hochgeladen.

--Erstellen eines Versuchsplans mithilfe einer zweistufigen orthogonalen Tabelle (create_expt_plan_2_levels.ipynb)

Feature - Funktion

Sprach- und Bibliotheksabhängigkeit

<! - Schreiben Sie die verwendete Sprache und Version, die erforderliche Bibliothek und deren Version Für Python ist es auch gut, die Anforderungen.txt-> vorzubereiten

Vorbereitung - Einrichtung

<! - Schreiben Sie die Setup-Methode. Beschreiben Sie den Befehl zum Einrichten der zu vorbereitenden Hardware und Software-> Die oben genannte Python-bezogene und Jupyter Notebook-Umgebung ist erforderlich. Anaconda ist eine bequeme Möglichkeit, alle auf einmal zu installieren. Erläuterung von Anaconda und Installationsmethode (Referenzlink) Artikel, auf die im Jupyter-Notizbuch verwiesen wird

Verwendung - Verwendung

<! - Verwendung. Schreiben Sie so genau wie möglich. Schreiben Sie auch ein Beispiel->

Erstellung eines Versuchsplans unter Verwendung einer zweistufigen orthogonalen Tabelle

<! - Schreiben Sie, was diese Software ist und was Sie tun können Zusätzlich wird eine einfache Demo (Anwendungsbeispiel) etc. mit Screenshots und GIF-Animation-> angezeigt

● Beispiel Angenommen, Sie möchten die Parameter herausfinden, die sich auf ein köstliches Curry auswirken.

Geben Sie dies wie unten gezeigt ein.

create_expt_plan_2_levels.ipynb


#Faktorname
factor_symbols_all = ["Zeit", "Weizen", "Curry Pulver"]

#Niveau jedes Faktors
factors = [
    [20,60],
    [5,10],
    ["Marine","BMT"]
]

#Faktor Nummer der Interaktion, die Sie sehen möchten(o~)Spezifiziert durch.
interactions = [
#     [0, 1],    # AxB
#     [1, 2]     # BxC
]

Bei der Ausführung werden der folgende Versuchsplan und EXCEL ausgegeben. Name der Ausgabedatei: output_Expt_Plan_L * .xlsx sample-table.png

Analyse der experimentellen Ergebnisse (von der Visualisierung bis zur Dispersionsanalyse)

<! - Schreiben Sie, was diese Software ist und was Sie tun können Zusätzlich wird eine einfache Demo (Anwendungsbeispiel) etc. mit Screenshots und GIF-Animation-> angezeigt

● Beispiel Geben Sie das Ergebnis früher in die EXCEL-Ausgabe ein und speichern Sie es. ――Hier nehmen wir an, dass die Köstlichkeit von Curry auf einer Skala von 5 Punkten bewertet wird.

Geben Sie die Datei im Code an.

analysis_expt_result_2_levels.ipynb


path = 'result_Expt_Plan_L4.xlsx'

Bei der Ausführung wird der individuelle Effekt jedes Parameters (als Faktor bezeichnet) in einem Diagramm ** visualisiert **. sample-plot.png sample-bar.png

Sie können auch ** statistische Analyseergebnisse (verteilte Analysetabelle) ** anzeigen.

Weil es das Ergebnis mit weniger Einfluss als Fehler zusammenfasst In diesem Fall müssen Sie Weizen angeben.

analysis_expt_result_2_levels.ipynb


# ['Zeit', 'Weizen', 'Curry Pulver']
pool_list = [0,1,0] 

Dann wird die verteilte Analyse wie unten gezeigt durchgeführt.

sample-analysis.png

Lizenz-Lizenz

Released under the MIT license

Referenzen - Referenzen

Informationen und Links wie Referenzinformationsquellen (Websites / Artikel)

http://jasst.jp/archives/jasst05w/pdf/S4-1.pdf https://www.slideshare.net/hajimemizuyama/par-49440366

Zukünftige Aufgaben

Derzeit verwenden wir nur die Methode "Interaktionstabelle" zum Zuweisen von Interaktionen. Um die Zuverlässigkeit zu verbessern, "Methode mit Interaktionstabelle" und "Methode mit Komponentensymbol" Ich möchte zwei Möglichkeiten nutzen und einen Scheck hinzufügen.

Außerdem wird derzeit nur ein 2-Ebenen-System unterstützt.

――Unterstützung für 3-Ebenen-System ――Korrespondenz mit 4 Ebenen und Pseudo-Ebenen

Diese möchte ich auch in Zukunft umsetzen.

Nachwort

Ich hatte den Eindruck, dass die experimentelle Planungsmethode, die ich kürzlich studiert habe, ziemlich oft verwendet werden kann. Ich habe diesen Artikel mit dem Hauptzweck geschrieben, ihn vielen Menschen bekannt zu machen.

In einigen Teilen habe ich die Erklärung (aufgrund meiner fehlenden Erklärung) weggelassen, um der Klarheit Priorität einzuräumen. Wenn Sie in Zukunft ein gutes Beispiel finden, kann ich es hinzufügen.

Ich bin auch ein Anfänger in Python, daher denke ich, dass es einige Teile gibt, die rau oder schwer zu sehen sind. Ich hoffe es hilft jemandem.

Wurde zuvor beim Zusammenstellen der Ergebnisse in einem Bericht veröffentlicht ** Automatische Erstellung von Powerpoint-Dokumenten ** kann ebenfalls hilfreich sein. → Automatische Berichterstellung mit Python (Qiita-Artikel)

Endlich Werbung

Die iOS-Memo-App "Sakumemo!" wurde als persönliche Entwicklung veröffentlicht. Es handelt sich um eine Memo / To-Do-Verwaltungs-App, die intuitive Funktionen wie einen einfachen Bildschirm und das Sortieren durch Ziehen und Ablegen bietet. → Sakumemo! - Immer knackige Notizen, Todo, sortieren (Apple App Store)

Recommended Posts

Nützlich für den Alltag !? Halbautomatisierung der stärksten experimentellen Planungsmethode von COSPA mit Python
Zusammenfassung nützlicher Techniken von Scrapy in Python
Zusammenfassung der Tools zum Betreiben der Windows-Benutzeroberfläche mit Python
[Für Anfänger] Zusammenfassung der Standardeingabe in Python (mit Erklärung)
Simulieren Sie mit Python verspätete Schäden für kriminelle Kinderbetreuungskosten
Drehen Sie ein Array von Zeichenfolgen mit einer for-Anweisung (Python3).
Achten Sie beim Drucken von Japanisch mit Python 3 auf LANG für UnicodeEncodeError
Ich habe viele Dateien für die RDP-Verbindung mit Python erstellt
Die Geschichte, einen Standardtreiber für db mit Python zu erstellen.
[Lass uns mit Python spielen] Ziel ist die automatische Satzgenerierung ~ Abschluss der automatischen Satzgenerierung ~