2023 Huashu Cup Mathematischer Modellierungswettbewerb C Problemanalyse

Das Folgende ist: 2023 Huashu Cup Mathematischer Modellierungswettbewerb Frage C: Analyse des Einflusses der körperlichen und geistigen Gesundheit der Mutter auf das Wachstum von Babys

Frage C: Einfluss der körperlichen und geistigen Gesundheit der Mutter auf das Säuglingswachstum

Eine Mutter ist eine der wichtigsten Personen im Leben eines Babys. Sie sorgt nicht nur für Ernährung und körperlichen Schutz, sondern auch für emotionale Unterstützung und ein Gefühl der Sicherheit. Ungünstige psychische Erkrankungen der Mutter, wie Depressionen, Angstzustände und Stress, können negative Auswirkungen auf die Wahrnehmung, die Emotionen und das Sozialverhalten des Babys haben. Eine gestresste Mutter kann sich negativ auf die physische und psychische Entwicklung ihres Babys auswirken, beispielsweise indem sie den Schlaf beeinträchtigt.

Der Anhang enthält Daten von 390 Säuglingen im Alter von 3 bis 12 Monaten und ihren Müttern. Die Daten decken eine Vielzahl von Themen ab, mit körperlichen Indikatoren von Müttern wie Alter, Familienstand, Bildung, Dauer der Schwangerschaft, Art der Entbindung und mütterlichen psychologischen Indikatoren CBTS (Fragebogen zur partnerschaftlichen posttraumatischen Belastungsstörung) und EPDS (Edinburgh Postpartum Depression). Skala), HADS (Hospital Anxiety and Depression Scale) und Indikatoren für die Schlafqualität von Säuglingen, einschließlich Schlafdauer während der Nacht, Anzahl der Aufwachvorgänge und Einschlafmuster.

Hintergrundanalyse: Aus dem Hintergrund ist ersichtlich, dass sich diese Frage hauptsächlich auf die Auswirkungen der körperlichen und geistigen Gesundheit der Mutter auf das Wachstum des Babys bezieht. Wir müssen die der Frage beigefügten Daten analysieren, um das Ergebnis der Frage zu ermitteln. Dies bedeutet, dass Sie die Daten, die Sie selbst finden, außer den Anhängen, nicht verwenden können. Zur besseren Analyse des Themas. Lassen Sie uns zunächst die Anhangsdaten analysieren.

Die Abbildung zeigt die beigefügten Indikatoren:

Wir können sehen, dass es sich beim Verhalten des Babys um nicht numerische Daten handelt, und wir müssen sie zunächst als numerische Daten verarbeiten. Zur Quantifizierung nicht numerischer Daten können Sie die folgenden Methoden verwenden:

1 Tag-Kodierung

Die Etikettenkodierung ist eine Methode zur Quantisierung nicht numerischer Daten durch Konvertierung einer Reihe möglicher Werte in ganze Zahlen. Im Bereich des maschinellen Lernens können wir beispielsweise für eine Variable mit mehreren Kategorien jeder Kategorie einen eindeutigen ganzzahligen Wert zuweisen, sodass dieser in numerische Daten umgewandelt werden kann.

2 One-Hot-Codierung Onehot

One-Hot-Codierung ist eine Methode zum Konvertieren mehrerer möglicher Werte in ein binäres Array. Bei der One-Hot-Codierung entspricht jeder mögliche Wert einem binären Array, dessen Länge der Gesamtzahl der möglichen Werte entspricht, in dem nur ein Element 1 und der Rest 0 ist. Beispielsweise kann für eine Geschlechtsvariable die One-Hot-Codierung verwendet werden, um „männlich“ und „weiblich“ in [1, 0] bzw. [0, 1] umzuwandeln.

3 Klassifizierungsanzahl

Kategoriale Zählungen sind eine einfache Möglichkeit, nicht numerische Daten in numerische Daten umzuwandeln. Bei der kategorialen Zählung klassifizieren wir Daten nach bestimmten Attributen (z. B. Bildung, Beruf usw.) und zählen dann die Anzahl oder Häufigkeit jeder Kategorie. Beispielsweise können wir in einem Umfragefragebogen die Antworten auf eine Frage in die Kategorien „Ja“, „Nein“ und „Nicht sicher“ einteilen und die Anzahl bzw. Häufigkeit jeder Kategorie zählen.

4 Hauptkomponentenanalyse

Die Hauptkomponentenanalyse ist eine Methode zur Umwandlung mehrdimensionaler Daten in eine niedrigdimensionale Darstellung. Bei der Hauptkomponentenanalyse führen wir eine Dimensionsreduktion an Rohdaten durch, indem wir die Hauptkomponenten finden, die die Variation in den Daten am besten erklären. Dadurch werden nicht-numerische Daten in numerische Daten umgewandelt.

Es wird empfohlen, hier die Etikettenkodierung/One-Hot-Kodierung zu verwenden, und es ist besser, die Etikettenkodierung zu verwenden, da die Daten dieses Indikators eine Größenbeziehung haben.

Darüber hinaus muss die Schlafzeit der gesamten Nacht in numerische Daten umgewandelt werden, d. h. beispielsweise 10:30 Uhr muss in 10,5 umgewandelt werden, was für die spätere Berechnung und Analyse praktisch ist.

Ein weiterer sehr wichtiger Schritt bei der Datenvorverarbeitung ist die Normalisierungsverarbeitung, um den Einfluss von Dimensionen auf die Modellierungsergebnisse zu vermeiden. Das Folgende ist der Code für die Datennormalisierung:

import pandas as pd
from sklearn.preprocessing import MinMaxScaler

# 读取数据
data = pd.read_excel('your_dataset.xlsx')

# 提取需要进行归一化的指标列
features_to_normalize = ['age', 'education', 'pregnancy_time', 'CBTS', 'EPDS', 'HADS', 'sleep_duration', 'awakening_times']

# 使用MinMaxScaler进行归一化
scaler = MinMaxScaler()
data[features_to_normalize] = scaler.fit_transform(data[features_to_normalize])

# 输出归一化后的数据
print(data)

Der obige Code muss your_dataset.xlsx durch den Namen Ihrer Datensatzdatei ersetzen. Die Liste „features_to_normalize“ enthält die Namen der Indexspalten, die normalisiert werden müssen.

Hier ist die vorläufige Vorverarbeitung der Daten und beginnen Sie mit dem Lesen der Fragen!

Bitte beziehen Sie sich auf die einschlägige Literatur, verstehen Sie den beruflichen Hintergrund, erstellen Sie ein mathematisches Modell basierend auf den Themendaten und beantworten Sie die folgenden Fragen.

1. Viele Studien haben gezeigt, dass die physischen und psychischen Indikatoren der Mutter einen Einfluss auf die Verhaltensmerkmale und die Schlafqualität des Babys haben . Gibt es eine solche Regel? Recherchieren Sie anhand der Daten im Anhang.

Analyse von Frage 1: Bei der Frage geht es darum, ob die physischen und psychischen Indikatoren der Mutter einen Einfluss auf die Verhaltensmerkmale und die Schlafqualität des Babys haben. Hierbei ist zu beachten, dass die Frage nicht klar erklärt, was diese Indikatoren sind, daher müssen wir sie vergleichen Die der Frage zugeordneten Indikatoren entsprechen einander. Erstellen Sie das physische Indexmodell der Mutter, das psychologische Indexmodell, das Verhaltensmerkmalsmodell des Babys und das Schlafqualitätsmodell. Hier müssen Sie berücksichtigen, welche Indikatoren in direktem Zusammenhang stehen. Lassen Sie mich hier erklären, wie wir diese Modelle nach der Bestätigung erstellen müssen. Die üblichen Methoden sind:

l Hauptkomponentenanalyse (PCA): PCA ist eine lineare Dimensionsreduktionsmethode, die eine Dimensionsreduktion durch Finden der wichtigsten Hauptkomponenten im Datensatz erreicht. Es projiziert die Originaldaten in ein neues orthogonales Koordinatensystem, sodass die Varianz über das neue Koordinatensystem maximiert wird und dadurch die informativsten Merkmale in den Daten erhalten bleiben.

l Lineare Diskriminanzanalyse (LDA): LDA ist ebenfalls eine lineare Dimensionsreduktionsmethode, aber im Gegensatz zu PCA ist LDA eine überwachte Lernmethode, die hauptsächlich für Klassifizierungsaufgaben verwendet wird. Während die Dimensionalität reduziert wird, wird versucht, den Abstand zwischen den Klassen zu maximieren und den Abstand innerhalb der Klassen zu minimieren, um eine niedrigdimensionale Darstellung mit besserer Unterscheidungsleistung zu erhalten.

l Locally Linear Embedding (LLE): LLE ist eine nichtlineare Dimensionsreduktionsmethode, die eine niedrigdimensionale Darstellung erstellt, indem eine lineare Beziehung zwischen Proben in einem lokalen Bereich aufrechterhalten wird. LLE geht davon aus, dass Daten im hochdimensionalen Raum lokal linear trennbar sind, und ordnet hochdimensionale Daten dem niedrigdimensionalen Raum zu, indem die lineare Beziehung zwischen jeder Probe und ihren Nachbarn rekonstruiert wird.

l Nicht-negative Matrixfaktorisierung (NMF): NMF ist eine Methode zur Dimensionsreduktion für nicht-negative Daten. Es zerlegt die ursprüngliche Datenmatrix in das Produkt zweier nichtnegativer Matrizen, was zu einer latenten Merkmalsdarstellung führt. NMF wird häufig in Bereichen wie Bildverarbeitung und Text Mining verwendet.

l t-SNE: t-SNE ist eine beliebte nichtlineare Dimensionsreduktionsmethode zur Visualisierung hochdimensionaler Daten. Es ordnet hochdimensionale Daten einem zweidimensionalen oder dreidimensionalen Raum zu, indem es die lokale Ähnlichkeit zwischen Proben beibehält. t-SNE ist gut darin, die Klassenstruktur und Clustermuster in den Daten anzuzeigen.

Hier ist der Code für PCA:

from sklearn.decomposition import PCA
import numpy as np

# 假设我们有一个数据集 X,其中每一行表示一个样本,每一列表示一个特征
X = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])

# 创建PCA对象,并指定要保留的主成分数量
pca = PCA(n_components=2)

# 对数据进行降维
X_pca = pca.fit_transform(X)

# 输出降维后的结果
print(X_pca)

Im obigen Code werden zunächst die PCA-Klasse und die Numpy-Bibliothek importiert. Dann wird ein zweidimensionales Array X definiert, das die Proben enthält. Als nächstes wird ein PCA-Objekt erstellt und die Anzahl der beizubehaltenden Hauptkomponenten wird über den Parameter n_components als 2 angegeben. Verwenden Sie dann die Methode fit_transform, um die Dimensionalität der Daten zu reduzieren und X_pca zu erhalten, das den Datensatz mit reduzierter Dimensionalität darstellt.

Anschließend können Sie einige Visualisierungsmethoden verwenden, um die Ergebnisse nach der Dimensionsreduzierung visuell anzuzeigen. Folgende Visualisierungsmethoden sind möglich:

l Streudiagramm: Für zweidimensionale oder dreidimensionale Datensätze können wir die dimensional reduzierten Daten durch ein Streudiagramm visualisieren. Wenn wir nur zwei Hauptkomponenten behalten, können wir ein Streudiagramm verwenden, um die Projektion der Stichprobe auf diese beiden Hauptkomponenten darzustellen. Proben unterschiedlicher Klassen können durch unterschiedliche Farben oder Symbole unterschieden werden, um die Verteilung der Daten besser zu verstehen.

l 3D-Streudiagramm: Wenn wir die drei Hauptkomponenten beibehalten, können wir das dreidimensionale Streudiagramm verwenden, um die Projektion der Probe auf diese drei Hauptkomponenten darzustellen. Dies kann uns helfen, besser zu beobachten, wie die Daten über mehrere Dimensionen verteilt sind.

l Diagramm zum erklärten Anteil der Varianz: Das Diagramm zum erklärten Anteil der Varianz zeigt den Anteil der Gesamtvarianz, der durch jede Hauptkomponente erklärt wird. Durch die Darstellung der kumulativen Varianzanteilkurve können wir die Anzahl der Hauptkomponenten bestimmen, die beibehalten werden müssen, um ausreichende Informationen zu speichern. Diese Zahl kann uns dabei helfen, die geeignete Anzahl von Hauptkomponenten für die Dimensionsreduktion auszuwählen.

l Biometrische Karte (Biplot): Die biometrische Karte kombiniert die Beziehung zwischen den ursprünglichen Merkmalen und den Hauptkomponenten. Im Fall der 2D-Dimensionalitätsreduzierung können wir die Originalmerkmale als Pfeile und die Projektionen der Hauptkomponenten als Punkte anzeigen. Dies ermöglicht ein besseres Verständnis dafür, wie die ursprünglichen Merkmale mit den Hauptkomponenten zusammenhängen.

Nachdem Sie die vier für das Thema erforderlichen Merkmale erhalten haben, führen Sie eine Korrelationsanalyse/Assoziationsanalyse für diese durch, um die endgültige Wirkungsbeziehung zu erhalten. Zu diesem Zeitpunkt ist es am besten, eine Heatmap zu zeichnen, um die Auswirkungen zu visualisieren. Das Folgende ist der Heatmap-Code von Pyrhon:

import seaborn as sns
import numpy as np

# 假设我们有一个二维数据集 data
data = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])

# 使用Seaborn绘制热力图
sns.heatmap(data)

# 显示图形
plt.show()

Wenn Sie ein besser aussehendes Bild zeichnen möchten, finden Sie es im Internet: Python-Heatmap-Zeichnungscode.

2. Der Säuglingsverhaltensfragebogen ist eine Skala zur Beurteilung der Verhaltensmerkmale von Säuglingen, die eine Reihe von Fragen zu den Emotionen und Reaktionen des Säuglings enthält . Wir unterteilen die Verhaltensmerkmale von Säuglingen in drei Typen: ruhig, gemäßigt und ambivalent. Bitte erstellen Sie ein Beziehungsmodell zwischen den Verhaltensmerkmalen des Babys und den physischen und psychischen Indikatoren der Mutter . In den letzten 20 Säuglingsgruppen (Nr. 391–410) in der Datentabelle wurden die Informationen zu Verhaltensmerkmalen gelöscht. Bitte beurteilen Sie, zu welchem ​​Typ sie gehören.

Analyse von Frage 2: Frage 2 muss offensichtlich ein Vorhersagemodell erstellen, das erfordert, dass wir die unabhängige Variable und die abhängige Variable definieren und dann einen geeigneten Modellalgorithmus verwenden, um die Beziehung zwischen beiden herzustellen. Die empfohlenen Methoden sind: multiple lineare Regression, Random Forest, neuronales Netzwerk, nichtlineare Anpassung und andere Methoden. Hier müssen wir das verwenden, was ich zuvor erwähnt habe, um die Verhaltensmerkmale von Babys zu quantifizieren. (Es wird empfohlen, 1, 2, 3 festzulegen, der Grund wurde zuvor erwähnt.) Danach ist es einfach zu handhaben. Diese Methoden sind sehr gute Vorhersagemethoden. Ich denke, das Problem ist relativ einfach und Sie können es auch ohne lösen unter Verwendung komplizierter Algorithmen. Multiple lineare Regression. Das Folgende ist der relevante Code für die multiple lineare Regression:

import statsmodels.api as sm
import pandas as pd

# 假设我们有一个包含多个特征和目标变量的数据集 data,其中每一行表示一个样本
data = pd.DataFrame({'x1': [1, 2, 3, 4, 5],
                     'x2': [6, 7, 8, 9, 10],
                     'y': [11, 12, 13, 14, 15]})

# 提取自变量(特征)和因变量(目标变量)
X = data[['x1', 'x2']]
y = data['y']

# 添加常数列作为截距项,如果你不需要截距项,可以省略此步骤
X = sm.add_constant(X)

# 创建多元线性回归模型并拟合数据
model = sm.OLS(y, X)
results = model.fit()

# 输出回归模型的详细结果
print(results.summary())

3. Interventionen gegen mütterliche Ängste können dazu beitragen, die psychische Gesundheit der Mutter zu verbessern, die Qualität der Mutter-Kind-Interaktion zu verbessern und die kognitive, emotionale und soziale Entwicklung des Säuglings zu fördern. Die Änderungsrate der Behandlungskosten von CBTS, EPDS und HADS im Verhältnis zum Krankheitsgrad ist proportional zu den Behandlungskosten . Nach der Untersuchung werden die Behandlungskosten entsprechend den beiden Bewertungen angegeben, wie in Tabelle 1 dargestellt. Es gibt einen Säugling mit ambivalenten Verhaltensmerkmalen, Nummer 238. Erstellen Sie bitte ein Modell, um zu analysieren, wie hoch die Behandlungskosten sein müssen , um die Verhaltensmerkmale des Babys von widersprüchlich auf mäßig zu ändern. Wie müsste der Behandlungsplan angepasst werden, um sein Verhaltensprofil hin zu einem ruhigeren Typ zu ändern?

Analyse von Frage 3: Bei dieser Frage ist zu beachten, dass die Frage den geringsten Verbrauch analysieren muss, sodass wir bei der Begrenzung des Schwellenwerts relativ locker vorgehen können. Konfidenzintervalle können eingestellt werden.

Der Titel erklärt, dass es proportional ist, daher müssen wir eine bestimmte proportionale Beziehung annehmen, z. B. lineare Korrelation/Nichtlinearität. Tatsächlich handelt es sich bei dieser Frage um ein mehrobjektives Programmierproblem. Wir können mit dem zuvor erstellten Modell beginnen und berechnen die spezifische Punktzahl von 238. Versuchen Sie, den Wert zwischen 2,5 und 3,5 zu halten, und beobachten Sie dann, wie er andere Indikatoren anpasst, damit die Behandlungskosten bei niedrigem Wert so niedrig wie möglich sein können . Das heißt, mit diesen beiden Zielen kann die Zielfunktion festgelegt werden. Im Folgenden finden Sie eine kurze Einführung in die Schritte der Mehrzielprogrammierung:

l Bestimmung des Ziels: Klärung mehrerer Zielfunktionen im Problem und Formalisierung.

l Bestimmen Sie die Entscheidungsvariablen: Bestimmen Sie die Entscheidungsvariablen, die angepasst werden können. Diese Variablen wirken sich auf den Wert der Zielfunktion aus.

l Definieren Sie Einschränkungen: Bestimmen Sie die Einschränkungen, die Entscheidungsvariablen einschränken, einschließlich Gleichheitsbeschränkungen und Ungleichheitsbeschränkungen, um die Einschränkungen praktischer Probleme zu erfüllen.

l Erstellung eines mathematischen Modells: Konvertieren Sie die Zielfunktion und die Einschränkungen in ein mathematisches Modell für eine optimale Lösung. Dabei handelt es sich in der Regel um Techniken wie mathematische Ausdrücke, lineare Programmierung, nichtlineare Programmierung usw.

l Wählen Sie einen Optimierungsalgorithmus aus: Wählen Sie entsprechend den Merkmalen des Problems (z. B. Konvexität, Differenzierbarkeit usw.) einen geeigneten Optimierungsalgorithmus aus, um das Problem der mehrobjektiven Programmierung zu lösen. Zu den gängigen Algorithmen gehören genetische Algorithmen, Partikelschwarmalgorithmen, lineare Programmieralgorithmen usw.

l Lösen Sie das Optimierungsproblem: Verwenden Sie den ausgewählten Optimierungsalgorithmus, um das etablierte mathematische Modell zu lösen und einen Satz optimaler Entscheidungsvariablenwerte zu erhalten.

l Interpretieren und bewerten Sie die Ergebnisse: Interpretieren und bewerten Sie die Lösungsergebnisse und analysieren Sie den optimalen Wert jeder Zielfunktion und ihre entsprechenden Entscheidungsvariablenwerte.

l Formulieren Sie einen Kompromissplan: Formulieren Sie entsprechend den tatsächlichen Anforderungen und Merkmalen des Problems einen Kompromissplan, um die endgültige Lösung auszuwählen. Dabei kann es sich um Methoden wie Gewichtszuweisung, Sensitivitätsanalyse, Präferenzranking usw. handeln.

l Wirkungsüberprüfung: Setzen Sie die ermittelten Lösungen in die Praxis um und bewerten und überprüfen Sie die Ergebnisse, um deren Wirksamkeit und Umsetzbarkeit sicherzustellen.

Dann ist da noch der Code, hier ist ein Matlab-Planungscode mit mehreren Zielen für alle: (Es wird empfohlen, zur Lösung auch Jargon zu verwenden.)

from pyomo.environ import *

# 创建一个具体模型
model = ConcreteModel()

# 定义决策变量
model.x = Var(within=NonNegativeReals)
model.y = Var(within=NonNegativeReals)

# 定义目标函数
model.obj1 = Objective(expr=model.x + 2*model.y, sense=minimize)
model.obj2 = Objective(expr=3*model.x + model.y, sense=minimize)

# 定义约束条件
model.con1 = Constraint(expr=2*model.x + model.y >= 1)
model.con2 = Constraint(expr=model.x - model.y <= 2)

# 求解多目标规划问题
opt = SolverFactory('glpk')
results = opt.solve(model)

# 输出结果
print("Decision Variables:")
print("x =", model.x.value)
print("y =", model.y.value)
print("Objectives:")
print("Objective 1 =", model.obj1.expr())
print("Objective 2 =", model.obj2.expr())

Wir haben zunächst ein Strukturproblem erstellt, um die Parameter des Optimierungsproblems zu speichern.

Dann verwenden wir die anonyme Funktion @(x), um die Zielfunktion zu definieren. Die Zielfunktion gibt hier einen Spaltenvektor zurück, wobei das erste Element der Wert der ersten Zielfunktion und das zweite Element der Wert der zweiten Zielfunktion ist.

Als nächstes legen wir die Anfangslösung x0, die untere Variable lb, die lineare Ungleichheitsbeschränkungsmatrix Aineq und den linearen Ungleichheitsbeschränkungsvektor bineq fest.

Schließlich rufen wir die Multiobjektivfunktion auf, um das Multiobjektivoptimierungsproblem zu lösen und das Ergebnis in der Ergebnisvariablen zu speichern.

Durch die Ausgabe der Ergebnisse können wir den Wert der Entscheidungsvariablen x und den optimalen Wert jeder Zielfunktion ermitteln.

4. Zu den Indikatoren für die Schlafqualität des Babys gehören die Schlafdauer der ganzen Nacht, die Häufigkeit des Aufwachens und die Art des Einschlafens. Bitte nehmen Sie eine umfassende Bewertung der Schlafqualität des Babys in vier Kategorien vor: ausgezeichnet, gut, mittel und schlecht, erstellen Sie ein Korrelationsmodell zwischen der umfassenden Schlafqualität des Babys und den physischen und psychischen Indikatoren der Mutter und prognostizieren Sie die letzten 20 Gruppen (Nr . 391-410) der Babys umfassende Schlafqualität.

4-5 Fragen und andere Hilfestellungen (Code, Visualisierungsmethoden, Papiere, Erklärungsvideos usw.) finden Sie am Ende des Artikels

Die Vorschläge zur Themenauswahl lauten wie folgt: 2023 Huashu Cup Mathematischer Wettbewerb in Modellierung Themenauswahlvorschläge_DS数据博客-CSDN博客

 

Für Ideen, zugehörige Codes, Erklärungsvideos, Referenzen und andere verwandte Inhalte klicken Sie bitte auf die Gruppenvisitenkarte unten!

おすすめ

転載: blog.csdn.net/weixin_43345535/article/details/132092119