Datensätzen – chatgpz.de – KI-Tools & Praxiswissen https://chatgpz.de Unabhängige Tests, Anleitungen und Hintergründe zu KI-Tools. Tue, 26 May 2026 07:59:30 +0000 de-DE hourly 1 https://wordpress.org/?v=6.4.2 234900186 Prüfung der Modellverzerrung mit ausgewogenen Datensätzen mit Mimesis https://chatgpz.de/data-analytics/pruefung-der-modellverzerrung-mit-ausgewogenen-datensaetzen-mit-mimesis/ https://chatgpz.de/data-analytics/pruefung-der-modellverzerrung-mit-ausgewogenen-datensaetzen-mit-mimesis/#respond Tue, 26 May 2026 07:59:30 +0000 http://chatgpz.de/data-analytics/pruefung-der-modellverzerrung-mit-ausgewogenen-datensaetzen-mit-mimesis/ [ad_1]

Prüfung der Modellverzerrung mit ausgewogenen Datensätzen mit Mimesis

# Einführung

Unabhängig davon, ob es sich um etablierte Klassifikatoren oder hochmoderne Massenmodelle wie große Sprachmodelle (LLMs) handelt, birgt die Entwicklung maschineller Lernlösungen häufig ein Risiko: Algorithmen übernehmen möglicherweise stillschweigend Vorurteile, die dem historischen Trainingsdatensatz innewohnen, auf dem sie trainiert wurden. Aber wie können wir das in einem Szenario mit hohem Risiko oder in einem Szenario, in dem Daten vertraulich sind, tun? Prüfen Sie, ob ein Modell voreingenommen ist ohne die Informationen aus der realen Welt zu beeinträchtigen?

Dieser praktische Artikel führt Sie durch das Coaching eines einfachen Klassifizierungsmodells für die „Kreditgenehmigung“ anhand voreingenommener Daten. Auf dieser Grundlage werden wir verwenden Mimesiseine Open-Supply-Bibliothek, die dabei helfen kann, ein perfekt ausgewogenes, kontrafaktisch Datensatz. Sie können „falsche“ Benutzer mit identischem finanziellen Hintergrund, aber unterschiedlichen demografischen Merkmalen testen und so feststellen, ob das Modell bestimmte Gruppen diskriminiert oder nicht.

# Schritt-für-Schritt-Anleitung

Beginnen Sie mit der Set up der Mimesis-Bibliothek, wenn Sie damit noch nicht vertraut sind oder in einer Cloud-Pocket book-Umgebung wie Colab arbeiten:

Bevor wir ein Modell auditieren, müssen wir uns tatsächlich eines besorgen! In diesem Beispiel werden wir synthetisch einen Datensatz von 1.000 Bankkunden mit nur zwei Merkmalen generieren: Geschlecht und Einkommen. Diese Merkmale sind kategorial bzw. numerisch. Die Datenerstellung wird absichtlich so manipuliert, dass das Geschlechtsattribut das binäre Ergebnis, die Kreditgenehmigung, unfair beeinflusst. Konkret betrachten wir für die Kennzeichnung des Datensatzes ein Szenario, in dem Männer grundsätzlich zugelassen werden, während Frauen nur dann zugelassen werden, wenn sie über ein bemerkenswert hohes Einkommen verfügen.

Der Prozess zum Erstellen dieses eindeutig voreingenommenen Datensatzes und zum Trainieren eines Entscheidungsbaumklassifikators darauf ist unten dargestellt:

import pandas as pd
import numpy as np
from sklearn.tree import DecisionTreeClassifier

# 1. Simulating biased historic knowledge (1000 situations)
np.random.seed(42)
n_train = 1000
genders = np.random.selection(('Male', 'Feminine'), n_train)
incomes = np.random.randint(30000, 120000, n_train)

approvals = ()
for gender, revenue in zip(genders, incomes):
    if gender == 'Male':
        # Traditionally, males are authorised
        approvals.append(1)
    else:
        # Solely females with excessive revenue are authorised
        approvals.append(1 if revenue > 80000 else 0)

train_df = pd.DataFrame({'Gender': genders, 'Revenue': incomes, 'Authorised': approvals})

# Changing classes to numbers for the machine studying mannequin
train_df('Gender_Code') = train_df('Gender').map({'Male': 1, 'Feminine': 0})

# 2. Coaching a Determination Tree classifier
mannequin = DecisionTreeClassifier(max_depth=3)
mannequin.match(train_df(('Gender_Code', 'Revenue')), train_df('Authorised'))

Der nächste Schritt zeigt Mimesis in Aktion. Wir werden diese Bibliothek verwenden, um mithilfe von eine kleine Gruppe von Testpersonen zu generieren Generic Klasse. Dies erfolgt durch die Definition von drei Basisfinanzprofilen, die zufällige UUIDs (universelle eindeutige Kennungen) und ein moderates Einkommen zwischen 40.000 und 70.000 enthalten. Beachten Sie, dass diese Profile noch keine Geschlechtsinformationen enthalten:

from mimesis import Generic

generic = Generic('en')

# Producing 3 base monetary profiles
base_profiles = ()
for _ in vary(3):
    profile = {
        'Applicant_ID': generic.cryptographic.uuid(),
        'Revenue': generic.random.randint(40000, 70000) # Reasonable revenue
    }
    base_profiles.append(profile)

Die drei neu erstellten Profile könnten beispielsweise so aussehen:

({'Applicant_ID': '1f1721e1-19af-4bd1-8488-6abf01404ef9', 'Revenue': 44815},
 {'Applicant_ID': '5c862597-7f55-43f4-9d6e-ac9cc0b9083e', 'Revenue': 47436},
 {'Applicant_ID': '3479d4cf-0d9b-4f06-9c43-1c3b7e787830', 'Revenue': 58194})

Lassen Sie uns den Aufbau unseres kontrafaktischen Beispielsatzes beenden, der den Kern unseres Prüfungsprozesses darstellt! Für jedes der drei Basisprofile erstellen wir zwei geklonte kontrafaktische Instanzen: eine männlich und die andere weiblich. Für jedes Testkundenpaar sind die Antrags-ID und das Einkommen völlig identisch, der einzige Unterschied besteht additionally im Geschlecht: Jeder Unterschied in der Artwork und Weise, wie unser trainiertes Entscheidungsbaummodell sie behandelt, ist zweifellos ein Beweis für eine geschlechtsspezifische Voreingenommenheit.

counterfactual_data = ()

for profile in base_profiles:
    # Model A: Male Counterfactual
    counterfactual_data.append({
        'Applicant_ID': profile('Applicant_ID'), 
        'Gender': 'Male', 
        'Gender_Code': 1, 
        'Revenue': profile('Revenue')
    })
    
    # Model B: Feminine Counterfactual
    counterfactual_data.append({
        'Applicant_ID': profile('Applicant_ID'), 
        'Gender': 'Feminine', 
        'Gender_Code': 0, 
        'Revenue': profile('Revenue')
    })

audit_df = pd.DataFrame(counterfactual_data)

So könnten die drei Kundenpaare aussehen:

1f1721e1-19af-4bd1-8488-6abf01404ef9	Male	1	44815
1	1f1721e1-19af-4bd1-8488-6abf01404ef9	Feminine	0	44815
2	5c862597-7f55-43f4-9d6e-ac9cc0b9083e	Male	1	47436
3	5c862597-7f55-43f4-9d6e-ac9cc0b9083e	Feminine	0	47436
4	3479d4cf-0d9b-4f06-9c43-1c3b7e787830	Male	1	58194
5	3479d4cf-0d9b-4f06-9c43-1c3b7e787830	Feminine	0	58194

Ein wichtiger Punkt, auf den man hier bestehen sollte: Wir haben gerade Mimesis verwendet, um sofort perfekt passende „Klone“ von Kreditantragstellern mit identischem Einkommen, aber unterschiedlichem Geschlecht zu erstellen. Dies unterstreicht den Wert der Bibliothek bei der Bereitstellung vollständiger statistischer Kontrolle und der Isolierung eines geschützten Attributs.

Jetzt ist es an der Zeit, das Modell zu untersuchen und zu sehen, was es preisgibt.

# Asking the mannequin to foretell approval for our counterfactuals
audit_df('Predicted_Approval') = mannequin.predict(audit_df(('Gender_Code', 'Revenue')))

# Formatting the output for readability (1 = Authorised, 0 = Denied)
audit_df('Predicted_Approval') = audit_df('Predicted_Approval').map({1: 'Authorised', 0: 'Denied'})

print("n--- Mannequin Audit Outcomes ---")
print(audit_df(('Applicant_ID', 'Gender', 'Revenue', 'Predicted_Approval')).sort_values('Applicant_ID'))

Die Entscheidungsergebnisse unseres Modells könnten nicht klarer sein:

--- Mannequin Audit Outcomes ---
                           Applicant_ID  Gender  Revenue Predicted_Approval
0  1f1721e1-19af-4bd1-8488-6abf01404ef9    Male   44815           Authorised
1  1f1721e1-19af-4bd1-8488-6abf01404ef9  Feminine   44815             Denied
4  3479d4cf-0d9b-4f06-9c43-1c3b7e787830    Male   58194           Authorised
5  3479d4cf-0d9b-4f06-9c43-1c3b7e787830  Feminine   58194             Denied
2  5c862597-7f55-43f4-9d6e-ac9cc0b9083e    Male   47436           Authorised
3  5c862597-7f55-43f4-9d6e-ac9cc0b9083e  Feminine   47436             Denied

Beachten Sie das für genau das Gleiche Applicant_ID Und RevenueFür die Ausleihe werden männliche Klone zugelassen. Mittlerweile werden weibliche Klone mit solch moderatem Einkommen generell abgelehnt. Die auf Profilen basierenden Mimesis-Funktionen haben uns geholfen, alle anderen Variablen konstant zu halten und so die diskriminierende Entscheidungsfindung des Modells erfolgreich zu isolieren und aufzudecken.

# Zusammenfassung

In diesem praktischen Artikel haben wir gezeigt, wie Mimesis verwendet werden kann, um ausgewogene, kontrafaktische Datenbeispiele zu generieren – ohne Datenschutz- oder smart Datenbeschränkungen –, die dabei helfen können, das Verhalten eines Modells zu prüfen und festzustellen, ob sich das Modell voreingenommen verhält oder nicht. Die nächsten Schritte, die Sie unternehmen sollten, wenn Ihr Modell voreingenommen ist, können sein:

  • Erweitern Sie Ihre Trainingsdaten mit ausgewogeneren Profilen, um historische Schiefe oder Verzerrungen zu korrigieren.
  • Je nach Modelltyp werden Strategien zur Neugewichtung des Modells verwendet.
  • Nutzung von Open-Supply-Toolkits für Equity – zum Beispiel KI-Equity 360 – die für die Minderung von Verzerrungen in Pipelines für maschinelles Lernen hilfreich sind.

Iván Palomares Carrascosa ist ein führender Autor, Redner und Berater in den Bereichen KI, maschinelles Lernen, Deep Studying und LLMs. Er schult und leitet andere darin, KI in der realen Welt zu nutzen.

[ad_2]

]]>
https://chatgpz.de/data-analytics/pruefung-der-modellverzerrung-mit-ausgewogenen-datensaetzen-mit-mimesis/feed/ 0 18819
Zeitreihen- und Trendanalyse-Herausforderung, inspiriert von realen Datensätzen https://chatgpz.de/data-analytics/zeitreihen-und-trendanalyse-herausforderung-inspiriert-von-realen-datensaetzen/ https://chatgpz.de/data-analytics/zeitreihen-und-trendanalyse-herausforderung-inspiriert-von-realen-datensaetzen/#respond Thu, 04 Dec 2025 02:11:11 +0000 https://chatgpz.de/data-analytics/zeitreihen-und-trendanalyse-herausforderung-inspiriert-von-realen-datensaetzen/ [ad_1]

Zeitreihen- und Trendanalyse-HerausforderungZeitreihen- und Trendanalyse-Herausforderung
Bild vom Autor | Canva

# Einführung

Zeitreihendaten sind überall. Die Aktienkurse steigen täglich. Die Temperaturen verschieben sich. Der Web site-Verkehr steigt und stürzt ab. Die meisten Leute zeichnen eine Linie. Dann hören sie auf.

Aber Folgendes verrät Ihnen ein einzelnes Diagramm nicht: Beschleunigt sich der Pattern? Entschleunigung? Steht kurz vor dem kompletten Rückwärtsgang?

In diesem Artikel analysieren wir die realen Inflationserwartungen mithilfe von drei komplementären Techniken: gleitende Durchschnitte, Veränderungen im JahresvergleichUnd Bollinger-Bänder.

Zeitreihen- und Trendanalyse-HerausforderungZeitreihen- und Trendanalyse-Herausforderung
Bild vom Autor

Jede Methode beantwortet eine andere Frage zu denselben Daten. Gleitende Durchschnitte decken die Trendrichtung auf, Veränderungen im Jahresvergleich verdeutlichen Momentumverschiebungen und Bollinger-Bänder offenbaren Perioden extremer Bewegungen.

Wir werden diese Techniken verwenden, um den 5-Jahres-Inflationsdatentrend von Oktober 2020 bis Oktober 2025 zu analysieren.

# Unseren Datensatz verstehen: Entschlüsselung der 10-Jahres-Breakeven-Inflationsrate

Um unseren Datensatz zu verstehen, müssen wir zunächst die Kennzahl verstehen, auf der er basiert: die 10-jährige Breakeven-Inflationsrate (T10YIE).

Der T10YIE stellt die Inflationserwartungen des Marktes für das nächste Jahrzehnt dar. Einfache Rechnung: Subtrahieren Sie die inflationsgeschützten Renditen von Staatsanleihen von den regulären Renditen von Staatsanleihen.

// Was bedeutet es?

Wenn T10YIE = 2,5 %, erwartet der Markt eine durchschnittliche jährliche Inflation von 2,5 % über 10 Jahre. Höhere Werte bedeuten stärkere Inflationserwartungen. Niedrigere Werte bedeuten schwächere Inflations- oder Deflationsängste.

// Warum Ökonomen und die Fed diesen Zinssatz wie die Falken beobachten

Die Federal Reserve beobachtet diese Kennzahl genau. Steigende Breakeven-Raten signalisieren mögliche Inflationssorgen die Zinserhöhungen der Federal Reserve. Starke Rückgänge können auf Rezessionsängste oder Deflationsdruck hinweisen.

// Unsere Daten im Überblick: 5 Jahre Inflationserwartungen (2020–2025)

Jetzt verwenden wir Das Datensatz.

Zeitreihen- und Trendanalyse-HerausforderungZeitreihen- und Trendanalyse-Herausforderung
Screenshot | FRED

Klicken Sie auf „Herunterladen“, um die Datei auf Ihrem Pc zu speichern.

Wenn Sie daran interessiert sind, ähnliche Datensätze aus der realen Welt zu erkunden und Datenanalyse und -visualisierung zu üben, schauen Sie hier vorbei StrataScratch. Es handelt sich um eine Plattform für den Zugriff auf authentische Datensätze, die in den Bereichen Finanzen, Technologie und öffentliche Datenquellen verwendet werden.

// Machen Sie sich mit den Daten vertraut: Struktur, Quelle und zusammenfassende Statistiken

Hier einige Informationen zu unserem Datensatz:

  • Quelle: Wirtschaftsdaten der Federal Reserve (FRED).
  • Zeitraum: Oktober 2020 – Oktober 2025 (5 Jahre).
  • Häufigkeit: Tägliche Beobachtungen.
  • Gesamtbeobachtungen: 1.305 Datenpunkte.
  • Bereich: 1,64 % bis 3,02 %.
  • Durchschnitt: 2,33 %.

Lesen wir diesen Datensatz und sehen wir uns die ersten paar Zeilen an. Hier ist der Code:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns

df= pd.read_csv("T10YIE.csv")
df.head()

Hier ist die Ausgabe:

Zeitreihen- und Trendanalyse-HerausforderungZeitreihen- und Trendanalyse-Herausforderung

Es handelt sich um einen einfachen Datensatz, der nur aus zwei Spalten besteht: observation_date Und T10YIE.

# Trendanalyse: Drei Techniken für Einblicke in Zeitreihen

Wir beginnen mit der Technik der gleitenden Durchschnitte.

// Technik 1: Gleitende Durchschnitte

Gleitende Durchschnitte glätten kurzfristige Schwankungen. Sie offenbaren zugrunde liegende Tendencies. Nehmen Sie einen gleitenden 30-Tage-Durchschnitt. Es berechnet den Mittelwert der letzten 30 Tage. Das Ergebnis? Eine glattere Linie, die alltägliche Geräusche filtert.

Die Finanzmärkte sind chaotisch. Tagessätze steigen aufgrund von Schlagzeilen. Sie fallen auf Gewinnberichte. Geopolitische Ereignisse bringen sie ins Wanken. Gleitende Durchschnitte durchkreuzen all dies. Sie zeigen Ihnen die tatsächliche Trendrichtung unter dem Chaos.

Typen:

  • Kurzfristiger MA (30 Tage): Erfasst aktuelle Veränderungen.
  • Langfristiger MA (90 Tage): Zeigt eine breitere Trendrichtung.
    • Crossovers: Wenn der Quick-MA den Lengthy-MA kreuzt = Aufwärtstrendsignal.

Hier ist der Code:

df('T10YIE') = df('T10YIE').ffill()
df('MA_30') = df('T10YIE').rolling(window=30).imply()
df('MA_90') = df('T10YIE').rolling(window=90).imply()

plt.determine(figsize=(15, 7))

plt.plot(df.index, df('T10YIE'), label="Each day Price", alpha=0.4, linewidth=0.8, coloration="grey")
plt.plot(df.index, df('MA_30'), label="30-Day MA", linewidth=2, coloration="blue")
plt.plot(df.index, df('MA_90'), label="90-Day MA", linewidth=2, coloration="purple")

plt.axvspan(0, 200, coloration="palegreen", alpha=0.3, label="Part 1: Restoration")
plt.axvspan(200, 500, coloration="lightcoral", alpha=0.3, label="Part 2: Volatility")
plt.axvspan(500, 1000, coloration="lightblue", alpha=0.3, label="Part 3: Decline")
plt.axvspan(1000, df.index(-1), coloration="plum", alpha=0.3, label="Part 4: Stabilization")

plt.title('Breakeven Inflation Price with Highlighted Phases', fontsize=14, fontweight="daring")
plt.ylabel('Inflation Price (%)')
plt.xlabel('Date')
plt.grid(True, alpha=0.3)

plt.legend(loc="higher proper")

plt.tight_layout()
plt.present()

Hier ist die Ausgabe:

Zeitreihen- und Trendanalyse-HerausforderungZeitreihen- und Trendanalyse-Herausforderung

// Ergebnisse und Interpretation

Die gleitenden Durchschnitte zeigen deutliche Muster der Inflationserwartungen über fünf Jahre hinweg.

Part 1: Deutliche Erholung (Tage 0–200)
Beide Durchschnittswerte steigen steil von 1,7 % auf 2,4 %. Der 30-Tage-MA steigt schneller. Dieser Zeitraum erfasst die Wiedereröffnung der Wirtschaft nach COVID. Massiv fiskalische Anreize trieb die Inflationserwartungen in die Höhe.

Part 2: Zeitraum hoher Volatilität (Tage 200–500)
Die Tagessätze steigen um Tag 400 auf 3,0 %. Der 30-Tage-MA erreicht 2,9 %. Dies entspricht dem Inflationsanstieg 2022. Störungen der Lieferkette Schlag. Russland ist in die Ukraine einmarschiert. Die Energiepreise explodierten.

Part 3: Der Niedergang (Tage 500–1000)
Der 30-Tage-MA tendiert stark nach unten und fällt auf 2,2 % nahe Tag 1000. Die Fed erhöhte die Zinsen in den Jahren 2022 und 2023 aggressiv. Die Inflationserwartungen kühlten ab, als die Politik funktionierte.

Part 4: Jüngste Stabilisierung (Tage 1000–1300)
Der 30-Tage-MA bewegt sich zwischen 2,3 % und 2,4 %. Minimale Fluktuation. Die Märkte sind zuversichtlich, dass sich die Inflation in der Nähe normalisiert Das 2 %-Ziel der Fed. Zinserhöhungen wurden ausgesetzt.

Wichtige Erkenntnisse
Der 30-Tage-MA hat jeden Wendepunkt frühzeitig erkannt. Als sie Anfang 2021 stark anstieg, folgte der Inflationsschub. Mit dem Rückgang Mitte 2022 begann die Abkühlung. Die derzeitige Stabilität deutet darauf hin, dass die Märkte davon ausgehen, dass der Inflationsschock vorüber ist.

// Technik 2: Veränderung im Jahresvergleich

Die Veränderung im Jahresvergleich (YoY) vergleicht den heutigen Wert mit dem gleichen Tag vor einem Jahr. Die Antwort lautet: „Sind die Inflationserwartungen höher oder niedriger als vor 12 Monaten?“

Dadurch wird saisonales Rauschen entfernt und ein reiner Richtungsimpuls angezeigt. Constructive Werte = Erwartungen steigen im Jahresvergleich. Unfavorable Werte = Erwartungen, die im Jahresvergleich sinken. Null = flacher Pattern.

Hier ist die Formel zur Berechnung der Veränderung gegenüber dem Vorjahr, wobei ( V_t ) der aktuelle Wert und ( V_{t-365} ) der Wert von vor einem Jahr (ca. 252 Handelstage) ist:

$$
textual content{YoY Change} = V_t – V_{t-365}
$$

Im Code sieht es so aus:

import pandas as pd
import matplotlib.pyplot as plt

df('T10YIE') = df('T10YIE').ffill()
# Calculating diff primarily based on buying and selling days (approx 252 per 12 months)
df('YoY_Change') = df('T10YIE').diff(252)

fig, (ax1, ax2) = plt.subplots(2, 1, figsize=(14, 10), sharex=True)

ax1.plot(df.index, df('T10YIE'), coloration="blue", linewidth=1)
ax1.set_ylabel('Inflation Price (%)')
ax1.set_title('Breakeven Inflation Price (Authentic)', fontsize=12, fontweight="daring")
ax1.grid(True, alpha=0.3)

ax2.plot(df.index, df('YoY_Change'), coloration="darkred", linewidth=1.5)
ax2.axhline(y=0, coloration="black", linestyle="--", linewidth=1.5, alpha=0.7)

ax2.fill_between(df.index, df('YoY_Change'), 0,
    the place=(df('YoY_Change') > 0), coloration="inexperienced", alpha=0.3, label="Rising YoY")
ax2.fill_between(df.index, df('YoY_Change'), 0,
    the place=(df('YoY_Change') <= 0), coloration="purple", alpha=0.3, label="Falling YoY")
ax2.set_ylabel('YoY Change (%)')
ax2.set_xlabel('Date')
ax2.set_title('12 months-over-12 months Change in Inflation Expectations', fontsize=12, fontweight="daring")
ax2.grid(True, alpha=0.3)

# First Inexperienced Zone (Days 250-500)
ax1.axvspan(250, 500, coloration="palegreen", alpha=0.4, label="First Inexperienced Zone")
ax2.axvspan(250, 500, coloration="palegreen", alpha=0.4)

# Crimson Zone (Days 500-1000)
ax1.axvspan(500, 1000, coloration="lightcoral", alpha=0.4, label="Crimson Zone")
ax2.axvspan(500, 1000, coloration="lightcoral", alpha=0.4)

# Second Inexperienced Zone (Days 1000-1300)
ax1.axvspan(1000, df.index(-1), coloration="mediumaquamarine", alpha=0.4, label="Second Inexperienced Zone")
ax2.axvspan(1000, df.index(-1), coloration="mediumaquamarine", alpha=0.4)

ax1.legend(loc="higher left")
ax2.legend(loc="higher left")

plt.tight_layout()
plt.present()

Hier ist die Ausgabe:

Zeitreihen- und Trendanalyse-HerausforderungZeitreihen- und Trendanalyse-Herausforderung

// Ergebnisse und Interpretation

Das Veränderungsdiagramm im Jahresvergleich unterteilt die Inflationserwartungen in grüne und rote Zonen. Grün bedeutet Beschleunigung. Rot bedeutet Abbremsen. Dies zeigt, dass die Dynamikverschiebungen das ursprüngliche Kursdiagramm völlig verfehlten.

Erste grüne Zone (Tage 250–500)
Die Inflationserwartungen stiegen schnell. Die Veränderungen im Jahresvergleich erreichten mit +1,0 % ihren Höhepunkt. In diesem Zeitraum? 2021 bis 2022. Lieferketten brachen zusammen. Konjunkturpakete überschwemmten die Wirtschaft. Russland ist in die Ukraine einmarschiert. Die Energiepreise explodierten.

Rote Zone (Tage 500–1000)
Die Erwartungen sind zusammengebrochen. Sie sanken im Jahresvergleich auf -0,75 %. Die Federal Reserve hat die Zinsen in den Jahren 2022 und 2023 aggressiv angehoben. Die Märkte gingen davon aus, dass sich die Inflation abkühlen würde. Sie hatten Recht.

Zweite Grüne Zone (Tage 1000–1300)
Es kehrten kleine constructive Veränderungen zurück. Sie schwankten zwischen +0,1 % und +0,3 %. Die Erwartungen hörten auf zu sinken. Sie begannen sich über dem Vorjahresniveau zu stabilisieren. Dies signalisiert Normalisierung, keine Panik.

Sign für die Zukunft
Die jüngsten grünen Flecken sind im Vergleich zum Anstieg im Jahr 2022 gentle. Veränderungen im Jahresvergleich unter +0,25 %? Die Erwartungen bleiben verankert. Anhaltende Bewegung über +0,5 %? Das würde auf erneute Inflationssorgen hinweisen, die es wert sind, beobachtet zu werden.

// Technik 3: Bollinger-Bänder (Volatilitätshüllkurve)

Bollinger-Bänder bilden mithilfe der Standardabweichung eine obere und untere Grenze um einen gleitenden Durchschnitt. Die Bänder dehnen sich in volatilen Phasen aus und ziehen sich in ruhigen Phasen zusammen.

Es zeigt, wann die Inflationserwartungen „regular“ (innerhalb der Bänder) oder „extrem“ (außerhalb der Bänder) sind. Wenn die Price das obere Band berührt, ist sie ungewöhnlich hoch. Wenn es das untere Band berührt, ist es ungewöhnlich niedrig.

Die Struktur:

  • Mittleres Band: gleitender 20-Tage-Durchschnitt.
  • Oberes Band: Mitte + (2 × Standardabweichung).
  • Unteres Band: Mittel – (2 × Standardabweichung).

Der erstellte Bereich bedeutet, dass 95 % der Daten innerhalb der Bänder liegen sollten. Dies kann formal ausgedrückt werden als:

$$
textual content{Higher} = mu_{20} + (2 occasions sigma_{20})
$$
$$
textual content{Decrease} = mu_{20} – (2 occasions sigma_{20})
$$

Hier ist der Code:

df('T10YIE') = df('T10YIE').ffill()

window = 20
df('BB_Middle') = df('T10YIE').rolling(window=window).imply()
df('BB_Std') = df('T10YIE').rolling(window=window).std()
df('BB_Upper') = df('BB_Middle') + (2 * df('BB_Std'))
df('BB_Lower') = df('BB_Middle') - (2 * df('BB_Std'))

plt.determine(figsize=(15, 7))

plt.plot(df.index, df('T10YIE'), label="Each day Price", coloration="black", linewidth=0.8)
plt.plot(df.index, df('BB_Middle'), label="20-Day MA", coloration="blue", linewidth=1.5)
plt.plot(df.index, df('BB_Upper'), label="Higher Band", coloration="purple", linewidth=1, linestyle="--")
plt.plot(df.index, df('BB_Lower'), label="Decrease Band", coloration="inexperienced", linewidth=1, linestyle="--")
plt.fill_between(df.index, df('BB_Upper'), df('BB_Lower'), alpha=0.1, coloration="grey")

plt.axvspan(350, 450, coloration="gold", alpha=0.3, label="Band Enlargement (Volatility↑)")
plt.axvspan(800, 1200, coloration="lightblue", alpha=0.3, label="Band Contraction (Volatility↓)")

plt.axvspan(190, 210, coloration="lightcoral", alpha=0.5, label="Higher Breach (~Day 200)")
plt.axvspan(390, 410, coloration="lightcoral", alpha=0.5, label="Higher Breach (~Day 400)")

plt.axvspan(1040, 1060, coloration="palegreen", alpha=0.5, label="Decrease Contact (~Day 1050)")

plt.title('Breakeven Inflation Price with Bollinger Bands & Key Occasions', fontsize=14, fontweight="daring")
plt.ylabel('Inflation Price (%)')
plt.xlabel('Date')
plt.grid(True, alpha=0.3)
plt.legend(loc="higher left")

plt.tight_layout()
plt.present()

Hier ist die Ausgabe:

Zeitreihen- und Trendanalyse-HerausforderungZeitreihen- und Trendanalyse-Herausforderung

// Ergebnisse und Interpretation

Die Bollinger-Bänder identifizieren, wann die Inflationserwartungen extrem gegenüber dem Normalwert waren.

Banderweiterung (Tage 350–450)
Die Bandbreiten weiten sich dramatisch aus, da der Tagessatz wiederholt die Obergrenze durchbricht und 3,0 % erreicht. Diese Zeit erfasste die Inflationspanik 2022 während der Krieg zwischen Russland und der Ukraine als die Marktvolatilität ihren Höhepunkt erreichte.

Risse im Oberband
Mehrere Berührungen des oberen Bandes (Tage 200, 400) signalisieren Marktpanik, die Erwartungen sprangen über die normalen Bereiche hinaus. Jeder Verstoß warnte davor, dass die Inflationsängste zunahmen.

Bandkontraktion (Tage 800–1200)
Die Bänder verengen sich deutlich, während die Price innerhalb bleibt. Dies zeigt, dass die Volatilität zusammengebrochen ist Die Zinserhöhungen der Fed haben funktioniert und die Märkte erzielten einen Konsens.

Unterbandberührung (Tag 1050)
Der Zinssatz erreichte kurzzeitig den unteren Bereich von 2,05 %, was auf ungewöhnlichen Pessimismus Ende 2023 hindeutet Rezessionsängste.

Sign für die Zukunft
Die derzeit engen Bandbreiten und der stabile Zinssatz (2,35 %) deuten auf ein normales Marktverhalten hin. Ein erneuter Durchbruch des oberen Bandes über 2,5 % würde auf erneute Inflationssorgen hinweisen.

# Unterschiedliche Techniken, unterschiedliche Geschichten

Bei der Trendanalyse geht es nicht darum, die Zukunft vorherzusagen; Es geht darum, zu verstehen, was die Daten Ihnen sagen. Die 10-jährige Breakeven-Inflationsrate von 2020 bis 2025 zeigte bei jeder Technik unterschiedliche Muster.

Auch wenn globale Ereignisse wie die Russland-Ukraine-Invasion oder die Energiekrise alle Analysen beeinflussen, interpretiert jede Technik ihre Auswirkungen unterschiedlich. Ein gleitender Durchschnitt könnte eine allmähliche Trendverschiebung anzeigen, eine Veränderung im Jahresvergleich könnte den starken Momentumschwung hervorheben, während Bollinger-Bänder denselben Zeitraum als einen Anstieg der Volatilität darstellen könnten.

Deshalb ist die Wahl Ihrer Trendanalysetechnik wichtig. Es beeinflusst, wie Sie die Geschichte in Ihren Daten sehen. Dasselbe Ereignis kann je nach verwendeter analytischer Linse wie Erholung, Instabilität oder Normalisierung aussehen.

# Abschluss

Die eigentliche Lektion besteht nicht darin, welche Technik die beste ist; Es geht darum zu wissen, wann man welches verwendet. Diese drei Ansätze wirken sich auf Aktienkurse, Webverkehr, Verkaufsdaten oder alles aus, was sich im Laufe der Zeit ändert. Die Muster sind da. Sie brauchen nur die richtigen Werkzeuge, um sie zu sehen.

Mit anderen Worten: Daten sprechen selten mit einer Stimme. Die von Ihnen gewählte Methode bestimmt die Nachricht, die Sie hören. Deshalb geht es bei der Trendanalyse sowohl um Interpretation als auch um Berechnung.

Nate Rosidi ist Datenwissenschaftler und in der Produktstrategie tätig. Er ist außerdem außerordentlicher Professor für Analytik und Gründer von StrataScratch, einer Plattform, die Datenwissenschaftlern hilft, sich mit echten Interviewfragen von Prime-Unternehmen auf ihre Interviews vorzubereiten. Nate schreibt über die neuesten Tendencies auf dem Karrieremarkt, gibt Ratschläge zu Vorstellungsgesprächen, stellt Information-Science-Projekte vor und behandelt alles rund um SQL.



[ad_2]

]]>
https://chatgpz.de/data-analytics/zeitreihen-und-trendanalyse-herausforderung-inspiriert-von-realen-datensaetzen/feed/ 0 14518
3 Fragen: So helfen Sie den Schülern, potenzielle Verzerrungen in ihren KI -Datensätzen zu erkennen | MIT Nachrichten https://chatgpz.de/artificial-intelligence/3-fragen-so-helfen-sie-den-schuelern-potenzielle-verzerrungen-in-ihren-ki-datensaetzen-zu-erkennen-mit-nachrichten/ https://chatgpz.de/artificial-intelligence/3-fragen-so-helfen-sie-den-schuelern-potenzielle-verzerrungen-in-ihren-ki-datensaetzen-zu-erkennen-mit-nachrichten/#respond Fri, 06 Jun 2025 21:49:05 +0000 https://chatgpz.de/artificial-intelligence/3-fragen-so-helfen-sie-den-schuelern-potenzielle-verzerrungen-in-ihren-ki-datensaetzen-zu-erkennen-mit-nachrichten/ [ad_1]

Jedes Jahr nehmen Tausende von Schülern Kurse, in denen sie beibringen, wie man künstliche Intelligenzmodelle bereitstellt, die Ärzten helfen können, Krankheiten zu diagnostizieren und geeignete Behandlungen zu bestimmen. Viele dieser Kurse lassen jedoch ein Schlüsselelement aus: Schulungen der Schüler, um Fehler in den Schulungsdaten zu erkennen, die zur Entwicklung der Modelle verwendet werden.

Leo Anthony Celi, leitender Forschungswissenschaftler am MIT Institute for Medical Engineering and Science, Arzt am Beth Israel Deaconess Medical Heart und Affiliate Professor an der Harvard Medical College, hat diese Mängel in einem dokumentiert Neues Papier und hofft, die Kurseentwickler davon zu überzeugen, die Schüler zu unterrichten, ihre Daten gründlicher zu bewerten, bevor sie in ihre Modelle einbezogen werden. Viele frühere Studien haben ergeben, dass Modelle, die hauptsächlich auf klinischen Daten von weißen Männern ausgebildet wurden, nicht intestine funktionieren, wenn sie auf Personen aus anderen Gruppen angewendet werden. Hier beschreibt Celi die Auswirkungen einer solchen Voreingenommenheit und wie Pädagogen sie in ihren Lehren über KI -Modelle ansprechen könnten.

Q: Wie kommt die Verzerrung in diese Datensätze und wie können diese Mängel angesprochen werden?

A: Alle Probleme in den Daten werden in jede Modellierung der Daten eingebunden. In der Vergangenheit haben wir Instrumente und Geräte beschrieben, die bei Personen nicht intestine funktionieren. Als Beispiel fanden wir das Pulsoximeter Überschätzen Sie den Sauerstoffgehalt für Farbigen, da nicht genügend Menschen mit Farben in den klinischen Studien der Geräte eingeschrieben waren. Wir erinnern unsere Schüler daran, dass medizinische Geräte und Geräte für gesunde junge Männer optimiert sind. Sie wurden nie für eine 80-jährige Frau mit Herzinsuffizienz optimiert, und dennoch verwenden wir sie für diese Zwecke. Und die FDA verlangt nicht, dass ein Gerät auf dieser vielfältigen Bevölkerung intestine funktioniert, auf der wir es verwenden werden. Alles, was sie brauchen, ist ein Beweis dafür, dass es bei gesunden Themen funktioniert.

Darüber hinaus ist das elektronische Gesundheitsaktensystem in keiner Kind als Bausteine ​​von AI verwendet. Diese Aufzeichnungen wurden nicht als Lernsystem ausgelegt, und aus diesem Grund müssen Sie sehr vorsichtig mit der Verwendung elektronischer Gesundheitsakten eingehen. Das elektronische Gesundheitsaktensystem ist ersetzt, aber das wird nicht so schnell wie möglich passieren, additionally müssen wir schlauer sein. Wir müssen kreativer sein, wenn wir die Daten verwenden, die wir jetzt haben, egal wie schlecht sie sind, beim Aufbau von Algorithmen.

Ein vielversprechender Weg, den wir untersuchen, ist die Entwicklung von a Transformatormodell von numerischen Daten der elektronischen Gesundheitsakten, einschließlich, aber nicht beschränkt auf Labortestergebnisse. Modellierung der zugrunde liegenden Beziehung zwischen den Labortests, den Vitalfunktionen und den Behandlungen können die Auswirkung fehlender Daten infolge sozialer Determinanten der Gesundheit und des impliziten Anbieters abschwächen.

Q: Warum ist es wichtig, dass Kurse in KI die Quellen potenzieller Verzerrungen abdecken? Was haben Sie gefunden, als Sie solche Kurse inhalt analysiert haben?

A: Unser Kurs am MIT begann im Jahr 2016, und irgendwann erkannten wir, dass wir Menschen dazu ermutigten, um Modelle zu erstellen, die zu einem statistischen Maß für die Modellleistung übernommen werden, obwohl die Daten, die wir verwenden, mit Problemen, die Menschen nicht kennen. Zu dieser Zeit haben wir uns gefragt: Wie häufig ist dieses Downside?

Unser Verdacht battle, dass, wenn Sie sich die Kurse ansehen, in denen der Lehrplan on-line verfügbar ist, oder die On-line -Kurse, dass keiner von ihnen nur stört, um den Schülern zu sagen, dass sie über die Daten paranoid sein sollten. Und als wir uns die verschiedenen On-line -Kurse angesehen haben, geht es darum, das Modell zu erstellen. Wie bauen Sie das Modell auf? Wie visualisieren Sie die Daten? Wir fanden heraus, dass von 11 Kursen, die wir überprüft haben, nur fünf Abschnitte zu Verzerrungen in Datensätzen enthielten, und nur zwei enthielten eine signifikante Erörterung der Verzerrung.

Trotzdem können wir den Wert dieser Kurse nicht abnehmen. Ich habe viele Geschichten gehört, in denen Menschen sich selbst studieren, die auf diesen On-line-Kursen beruhen, aber gleichzeitig müssen wir uns, angesichts der Einflussnahme, wie beeindruckend sie sind, wie wirkungsvoll sie sind, dass wir sie wirklich verdoppeln müssen, um die richtigen Fähigkeiten zu vermitteln, da immer mehr Menschen von diesem AI-Multiversum angezogen werden. Es ist wichtig, dass sich die Menschen wirklich mit der Agentur ausstatten, um mit KI arbeiten zu können. Wir hoffen, dass dieses Papier diese große Lücke in der Artwork und Weise, wie wir jetzt KI beibringen, unseren Schülern ins Rampenlicht gerückt werden.

Q: Welche Artwork von Inhalten sollten Kurseentwickler einbeziehen?

A: Eine, die ihnen am Anfang eine Checkliste mit Fragen geben. Woher kamen diese Daten? Wer waren die Beobachter? Wer waren die Ärzte und Krankenschwestern, die die Daten gesammelt haben? Und dann ein wenig über die Landschaft dieser Institutionen lernen. Wenn es sich um eine ICU -Datenbank handelt, müssen sie fragen, wer es auf die Intensivstation schafft und wer es nicht auf die Intensivstation schafft, da dies bereits eine Auswahlverzerrung der Stichproben einführt. Wenn alle Minderheitenpatienten nicht einmal auf die Intensivstation aufgenommen werden, weil sie die Intensivstation nicht rechtzeitig erreichen können, werden die Modelle nicht für sie funktionieren. Für mich sollten für mich 50 Prozent des Kursinhalts die Daten wirklich verstehen, wenn nicht sogar mehr, da die Modellierung selbst einfach ist, sobald Sie die Daten verstanden haben.

Seit 2014 organisiert das MIT Crucial Information Consortium weltweit Datathons (Daten „Hackathons“). Bei diesen Versammlungen treffen sich Ärzte, Krankenschwestern, andere Gesundheitsarbeiter und Datenwissenschaftler zusammen, um Datenbanken zu durchlaufen und zu versuchen, Gesundheit und Krankheit im lokalen Kontext zu untersuchen. Lehrbücher und Journalpapiere präsentieren Krankheiten, die auf Beobachtungen und Versuchen basieren, die eine enge Bevölkerungsgruppe betreffen, die typischerweise aus Ländern mit Forschungsressourcen betreffen.

Unser Hauptziel, was wir ihnen lehren wollen, sind kritische Denkfähigkeiten. Und die Hauptzutat für kritisches Denken besteht darin, Menschen mit unterschiedlichem Hintergrund zusammenzubringen.

Sie können kritisches Denken in einem Raum voller CEOs oder in einem Raum voller Ärzte unterrichten. Die Umgebung ist einfach nicht da. Wenn wir Datathons haben, müssen wir ihnen nicht einmal beibringen, wie Sie kritisch denken. Sobald Sie die richtige Mischung aus Menschen bringen – und es kommt nicht nur aus verschiedenen Hintergründen, sondern aus verschiedenen Generationen – müssen Sie ihnen nicht einmal sagen, wie man kritisch denke. Es passiert einfach. Die Umgebung ist richtig für diese Artwork von Denken. Wir sagen jetzt unseren Teilnehmern und unseren Schülern jetzt, bitte beginnen Sie, ein Modell zu erstellen, es sei denn, Sie verstehen wirklich, wie die Daten entstanden sind, welche Patienten es in die Datenbank geschafft haben, welche Geräte wurden verwendet, und sind diese Geräte für Einzelpersonen konsequent genau?

Wenn wir auf der ganzen Welt Veranstaltungen haben, ermutigen wir sie, nach lokalen Datensätzen zu suchen, damit sie related sind. Es gibt Widerstand, weil sie wissen, dass sie feststellen, wie schlimm ihre Datensätze sind. Wir sagen, dass das in Ordnung ist. So beheben Sie das. Wenn Sie nicht wissen, wie schlimm sie sind, werden Sie sie weiterhin auf sehr schlechte Weise sammeln und sie sind nutzlos. Sie müssen anerkennen, dass Sie es beim ersten Mal nicht richtig machen werden, und das ist vollkommen in Ordnung. Mimic (die medizinischen Informationen, die für die intensive Pflegedatenbank im Beth Israel Deaconess Medical Heart gekennzeichnet sind) dauerte ein Jahrzehnt, bis wir ein anständiges Schema hatten, und wir haben nur ein anständiges Schema, weil die Leute uns sagten, wie schlecht Mimic battle.

Wir haben vielleicht nicht die Antworten auf all diese Fragen, aber wir können etwas bei Menschen hervorrufen, das ihnen hilft, zu erkennen, dass es so viele Probleme in den Daten gibt. Ich bin immer begeistert, die Weblog -Beiträge von Leuten zu betrachten, die an einem Datathon teilgenommen haben, die sagen, dass sich ihre Welt verändert hat. Jetzt sind sie mehr über das Feld aufgeregt, weil sie das immense Potenzial erkennen, aber auch das immense Risiko eines Schadens, wenn sie dies nicht richtig tun.

[ad_2]

]]>
https://chatgpz.de/artificial-intelligence/3-fragen-so-helfen-sie-den-schuelern-potenzielle-verzerrungen-in-ihren-ki-datensaetzen-zu-erkennen-mit-nachrichten/feed/ 0 9739
Freischärfen des Gesundheits -KI -Potenzials mit multimodalen medizinischen Datensätzen https://chatgpz.de/artificial-intelligence/freischaerfen-des-gesundheits-ki-potenzials-mit-multimodalen-medizinischen-datensaetzen/ https://chatgpz.de/artificial-intelligence/freischaerfen-des-gesundheits-ki-potenzials-mit-multimodalen-medizinischen-datensaetzen/#respond Wed, 26 Mar 2025 05:38:16 +0000 https://chatgpz.de/artificial-intelligence/freischaerfen-des-gesundheits-ki-potenzials-mit-multimodalen-medizinischen-datensaetzen/ [ad_1]

Wussten Sie, dass KI-Modelle, die zusammenführende medizinische Daten zusammenführen, die prädiktive Genauigkeit für die Ergebnisse der kritischen Versorgung um 12% oder mehr über Einzelmodalitätsansätze verbessern können? Diese bemerkenswerte Eigenschaft verändert die Entscheidungsfindung im Gesundheitswesen, damit die Pflegekräfte besser informierte Diagnosen und Behandlungspläne erstellen können.

Die Auswirkung künstlicher Intelligenz in der Gesundheitsversorgung verändert weiterhin die allgemeine Richtung der Branche. Jetzt sind die Qualität und Vielfalt der Schulungsdatensätze wichtige Determinanten für die Wirksamkeit eines KI -Techniques.

Was sind multimodale medizinische Datensätze?

Multimodale medizinische Datensätze bringen Informationen von mehreren Datentypen oder Modalitäten zusammen, um ein umfassendes Bild der Patientengesundheit zu liefern, die keine Datenquelle für sich selbst bereitstellen kann. Diese Datensätze können eine Kombination von fünf Arten von Informationen enthalten:

Bei der Integration ermöglichen diese Datenquellen AI -Systemen, Korrelationen über die Variablen hinweg zu untersuchen, um tiefere Erkenntnisse und bessere Vorhersagen zu erhalten als mit einer Artwork von Daten.

Die Bedeutung multimodaler medizinischer Datensätze für die Weiterentwicklung der künstlichen Intelligenz

Verbesserter Kontext und vollständiges Verständnis

Da Gesundheitsdaten heterogen in verschiedenen Systemen und Formaten gespeichert sind, bietet die Integration von Daten aus mehreren Quellen KI -Modelle mit Möglichkeiten, auf ein vollständigeres klinisches Bild zuzugreifen. Beispielsweise können multimodale Modelle sowohl Radiologiebilder als auch klinische Notizen verwenden, um nicht nur zu verstehen, wie sich eine Erkrankung visuell manifestiert, sondern auch, wie Patienten die Erkrankung symptomatisch darstellen.

Bekämpfung der Komplexität der Gesundheitsversorgung

Es ist selten, dass eine medizinische Diagnose oder Behandlungsempfehlung auf einem einzigen Datenpunkt basiert. In der täglichen Praxis synthetisiert eine medizinische Praxis Informationen und Nachweise über mehrere Datenpunkte (Symptome, Assessments und Bilder) hinweg unter Berücksichtigung der Patientengeschichte. Durch die Verwendung multimodaler Datensätze kann künstliche Intelligenz den Entscheidungsprozess, der in der realen Praxis durch Synthese verschiedener Modalitäten verwendet wird, besser widerspiegeln.

Signifikante Verbesserungen der Genauigkeit

Untersuchungen zeigen konsequent, dass multimodale Modelle Modelle mithilfe einer einzelnen Modalität häufig übertreffen. Beispielsweise zeigten die Kombination von Daten mit elektronischen Gesundheitsakten mit medizinischen Bildgebungsdaten prospektiv eine signifikant höhere Vorhersagegenauigkeit der Ergebnisse, z.

Erforschung personalisierter Medizin

Die Fähigkeit von AI, multimodale Datenquellen zu untersuchen, ermöglicht es ihm, subtile Beziehungen aufzudecken, die möglicherweise nicht klinisch unter den Genetik, Lebensstil und Krankheitsmanifestation klinisch offensichtlich sein, die eine wirklich personalisierte Behandlung ermöglichen. Dies ist besonders hilfreich bei verworrenen Erkrankungen, bei denen die Heterogenität der Präsentation noch ausgeprägter sein könnte.

Anwendungen multimodaler medizinischer Datensätze im Gesundheitswesen

Hier sind einige wichtige Anwendungen von medizinischen Datensätzen im Gesundheitswesen:

Herausforderungen bei der Verwendung multimodaler medizinischer Datensätze

Obwohl multimodale medizinische Datensätze ein enormes Versprechen bieten, gibt es immer noch erhebliche Herausforderungen:

  • Datenzugriff und Integration: Der Zugang zu einem breiten, vielfältigen Datensatz ist immer noch schwierig, insbesondere bei seltenen Krankheiten. Ebenso stellen heterogene Daten mit unterschiedlichen Formaten, Requirements und Detailmengen technische Schwierigkeiten bei der Harmonisierung und Integration auf.
  • Datenschutz- und Sicherheitsprobleme: Die Kombination mehrerer Datenarten erhöht das Risiko einer identifizierenden Patienten, die Schutz und Einhaltung von Datenschutzbestimmungen und -standards (z. B. HIPAA, DSGVO) erfordert.
  • Zusammenstellung und Komplexität der Modellinterpretation: Multimodale KI-Modelle sind oft sehr komplex, was es schwierig macht, ihre Entscheidungsbekennung schwierig und einschüchternd zu interpretieren.
  • Rechenanforderungen: Die multimodale Datenverarbeitung und -analyse erfordern eine erhebliche Rechenleistung, wodurch die Kosten für die Modellentwicklung und die Bereitstellung in Anwendungen hinzugefügt werden und den Zugriff auf die Verwendung wahrscheinlich reduziert werden.

Wie Shaip diese Herausforderungen angeht

Um die Herausforderungen zu bewältigen, die Modellen und Algorithmen für multimodale medizinische Daten innewohnt, bietet SHAIP die folgenden Lösungen:

Durch die Lösung der oben dargestellten Herausforderungen ermöglicht Shaip Unternehmen, das Potenzial multimodaler medizinischer Datensätze auszuschöpfen und die Entwicklung der KI -Lösung zu beschleunigen, die die Abgabe von Gesundheitsversorgung verändert und zu besseren Patientenergebnissen führt.

[ad_2]

]]>
https://chatgpz.de/artificial-intelligence/freischaerfen-des-gesundheits-ki-potenzials-mit-multimodalen-medizinischen-datensaetzen/feed/ 0 8084
So behandeln Sie Ausreißer in Datensätzen mit Pandas https://chatgpz.de/data-analytics/so-behandeln-sie-ausreisser-in-datensaetzen-mit-pandas/ https://chatgpz.de/data-analytics/so-behandeln-sie-ausreisser-in-datensaetzen-mit-pandas/#respond Tue, 27 Aug 2024 19:22:05 +0000 https://chatgpz.de/data-analytics/so-behandeln-sie-ausreisser-in-datensaetzen-mit-pandas/ [ad_1]

So behandeln Sie Ausreißer in Datensätzen mit PandasSo behandeln Sie Ausreißer in Datensätzen mit Pandas
Bild vom Autor

Ausreißer sind abnormale Beobachtungen, die sich erheblich vom Relaxation Ihrer Daten unterscheiden. Sie können aufgrund von Experimentierfehlern, Messfehlern oder einfach aufgrund der Variabilität in den Daten selbst auftreten. Diese Ausreißer können die Leistung Ihres Modells erheblich beeinträchtigen und zu verzerrten Ergebnissen führen – ähnlich wie ein Spitzenreiter bei der relativen Benotung an Universitäten den Durchschnitt erhöhen und die Benotungskriterien beeinflussen kann. Der Umgang mit Ausreißern ist ein entscheidender Teil des Datenbereinigungsverfahrens.

In diesem Artikel erkläre ich Ihnen, wie Sie Ausreißer erkennen und auf welche Weise Sie in Ihrem Datensatz damit umgehen können.

Ausreißer erkennen

Es gibt verschiedene Methoden, um Ausreißer zu erkennen. Wenn ich sie klassifizieren müsste, sähe das Ergebnis folgendermaßen aus:

  1. Visualisierungsbasierte Methoden: Zeichnen Sie Streudiagramme oder Boxplots, um die Datenverteilung anzuzeigen und auf abnormale Datenpunkte zu untersuchen.
  2. Statistikbasierte Methoden: Diese Ansätze beinhalten Z-Scores und IQR (Interquartilsabstand), die Zuverlässigkeit bieten, aber möglicherweise weniger intuitiv sind.

Ich werde diese Methoden nicht ausführlich behandeln, um beim Thema zu bleiben. Ich werde jedoch am Ende einige Referenzen zur Erläuterung angeben. In unserem Beispiel verwenden wir die IQR-Methode. So funktioniert diese Methode:

IQR (Interquartilsabstand) = Q3 (75. Perzentil) – Q1 (25. Perzentil)

Die IQR-Methode besagt, dass alle Datenpunkte unter Q1 – 1,5 * IQR oder höher Q3 + 1,5 * IQR werden als Ausreißer markiert. Lassen Sie uns einige zufällige Datenpunkte generieren und die Ausreißer mit dieser Methode erkennen.

Führen Sie die erforderlichen Importe durch und generieren Sie die Zufallsdaten mit np.random:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns

# Generate random knowledge
np.random.seed(42)
knowledge = pd.DataFrame({
    'worth': np.random.regular(0, 1, 1000)
})

Ermitteln Sie die Ausreißer im Datensatz mit der IQR-Methode:

# Perform to detect outliers utilizing IQR
def detect_outliers_iqr(knowledge):
    Q1 = knowledge.quantile(0.25)
    Q3 = knowledge.quantile(0.75)
    IQR = Q3 - Q1
    lower_bound = Q1 - 1.5 * IQR
    upper_bound = Q3 + 1.5 * IQR
    return (knowledge < lower_bound) | (knowledge > upper_bound)

# Detect outliers
outliers = detect_outliers_iqr(knowledge('worth'))

print(f"Variety of outliers detected: {sum(outliers)}")

Ausgabe ⇒ Anzahl der erkannten Ausreißer: 8

Visualisieren Sie den Datensatz mithilfe von Streu- und Boxplots, um zu sehen, wie er aussieht

# Visualize the info with outliers utilizing scatter plot and field plot
fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(15, 6))

# Scatter plot
ax1.scatter(vary(len(knowledge)), knowledge('worth'), c=('blue' if not x else 'pink' for x in outliers))
ax1.set_title('Dataset with Outliers Highlighted (Scatter Plot)')
ax1.set_xlabel('Index')
ax1.set_ylabel('Worth')

# Field plot
sns.boxplot(x=knowledge('worth'), ax=ax2)
ax2.set_title('Dataset with Outliers (Field Plot)')
ax2.set_xlabel('Worth')

plt.tight_layout()
plt.present()

Ursprünglicher DatensatzUrsprünglicher Datensatz
Ursprünglicher Datensatz

Nachdem wir nun die Ausreißer erkannt haben, besprechen wir einige der verschiedenen Möglichkeiten zum Umgang mit den Ausreißern.

Umgang mit Ausreißern

1. Ausreißer entfernen

Dies ist einer der einfachsten Ansätze, aber nicht immer der richtige. Sie müssen bestimmte Faktoren berücksichtigen. Wenn das Entfernen dieser Ausreißer die Größe Ihres Datensatzes erheblich reduziert oder wenn sie wertvolle Erkenntnisse enthalten, ist es nicht die beste Entscheidung, sie aus Ihrer Analyse auszuschließen. Wenn sie jedoch auf Messfehler zurückzuführen sind und nur wenige vorhanden sind, ist dieser Ansatz geeignet. Wenden wir diese Technik auf den oben generierten Datensatz an:

# Take away outliers
data_cleaned = knowledge(~outliers)

print(f"Unique dataset measurement: {len(knowledge)}")
print(f"Cleaned dataset measurement: {len(data_cleaned)}")

fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(15, 6))

# Scatter plot
ax1.scatter(vary(len(data_cleaned)), data_cleaned('worth'))
ax1.set_title('Dataset After Eradicating Outliers (Scatter Plot)')
ax1.set_xlabel('Index')
ax1.set_ylabel('Worth')

# Field plot
sns.boxplot(x=data_cleaned('worth'), ax=ax2)
ax2.set_title('Dataset After Eradicating Outliers (Field Plot)')
ax2.set_xlabel('Worth')

plt.tight_layout()
plt.present()

Ausreißer entfernenAusreißer entfernen
Ausreißer entfernen

Beachten Sie, dass die Verteilung der Daten durch das Entfernen von Ausreißern tatsächlich geändert werden kann. Wenn Sie einige anfängliche Ausreißer entfernen, kann sich die Definition eines Ausreißers durchaus ändern. Daher können Daten, die zuvor im normalen Bereich gelegen hätten, unter einer neuen Verteilung als Ausreißer betrachtet werden. Sie können einen neuen Ausreißer mit dem neuen Boxplot sehen.

2. Begrenzung von Ausreißern

Diese Technik wird verwendet, wenn Sie Ihre Datenpunkte nicht verwerfen möchten, aber das Beibehalten dieser Extremwerte Ihre Analyse beeinträchtigen kann. Sie legen additionally einen Schwellenwert für die Maximal- und Minimalwerte fest und bringen dann die Ausreißer in diesen Bereich. Sie können diese Begrenzung auch auf Ausreißer oder auf Ihren gesamten Datensatz anwenden. Wenden wir die Begrenzungsstrategie auf unseren gesamten Datensatz an, um ihn in den Bereich des 5. bis 95. Perzentils zu bringen. So können Sie dies ausführen:

def cap_outliers(knowledge, lower_percentile=5, upper_percentile=95):
    lower_limit = np.percentile(knowledge, lower_percentile)
    upper_limit = np.percentile(knowledge, upper_percentile)
    return np.clip(knowledge, lower_limit, upper_limit)

knowledge('value_capped') = cap_outliers(knowledge('worth'))

fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(15, 6))

# Scatter plot
ax1.scatter(vary(len(knowledge)), knowledge('value_capped'))
ax1.set_title('Dataset After Capping Outliers (Scatter Plot)')
ax1.set_xlabel('Index')
ax1.set_ylabel('Worth')

# Field plot
sns.boxplot(x=knowledge('value_capped'), ax=ax2)
ax2.set_title('Dataset After Capping Outliers (Field Plot)')
ax2.set_xlabel('Worth')

plt.tight_layout()
plt.present()

Begrenzung von AusreißernBegrenzung von Ausreißern
Begrenzung von Ausreißern

Sie können der Grafik entnehmen, dass die oberen und unteren Punkte im Streudiagramm aufgrund der Kappung auf einer Linie zu liegen scheinen.

3. Imputation von Ausreißern

Manchmal ist das Entfernen von Werten aus der Analyse keine Choice, da dies zu Informationsverlust führen kann und Sie diese Werte auch nicht wie beim Capping auf Most oder Minimal setzen möchten. In dieser Scenario besteht ein anderer Ansatz darin, diese Werte durch aussagekräftigere Optionen wie Mittelwert, Median oder Modus zu ersetzen. Die Auswahl variiert je nach beobachtetem Datenbereich, achten Sie jedoch darauf, bei der Verwendung dieser Technik keine Verzerrungen einzuführen. Ersetzen wir unsere Ausreißer durch den Moduswert (den am häufigsten vorkommenden Wert) und sehen wir uns an, wie das Diagramm aussieht:

knowledge('value_imputed') = knowledge('worth').copy()
median_value = knowledge('worth').median()
knowledge.loc(outliers, 'value_imputed') = median_value

fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(15, 6))

# Scatter plot
ax1.scatter(vary(len(knowledge)), knowledge('value_imputed'))
ax1.set_title('Dataset After Imputing Outliers (Scatter Plot)')
ax1.set_xlabel('Index')
ax1.set_ylabel('Worth')

# Field plot
sns.boxplot(x=knowledge('value_imputed'), ax=ax2)
ax2.set_title('Dataset After Imputing Outliers (Field Plot)')
ax2.set_xlabel('Worth')

plt.tight_layout()
plt.present()

Imputation von AusreißernImputation von Ausreißern
Imputation von Ausreißern

Beachten Sie, dass wir jetzt keine Ausreißer haben. Dies garantiert jedoch nicht, dass Ausreißer entfernt werden, da sich nach der Imputation auch der IQR ändert. Sie müssen experimentieren, um herauszufinden, was in Ihrem Fall am besten passt.

4. Anwenden einer Transformation

Die Transformation wird auf Ihren gesamten Datensatz angewendet, nicht auf bestimmte Ausreißer. Sie ändern im Grunde die Darstellung Ihrer Daten, um die Auswirkungen der Ausreißer zu reduzieren. Es gibt verschiedene Transformationstechniken wie Log-Transformation, Quadratwurzeltransformation, Field-Cox-Transformation, Z-Skalierung, Yeo-Johnson-Transformation, Min-Max-Skalierung usw. Die Wahl der richtigen Transformation für Ihren Fall hängt von der Artwork der Daten und Ihrem Endziel der Analyse ab. Hier sind einige Tipps, die Ihnen bei der Auswahl der richtigen Transformationstechnik helfen:

  • Für rechtsschiefe Daten: Verwenden Sie die Log-, Quadratwurzel- oder Field-Cox-Transformation. Log ist sogar noch besser, wenn Sie kleine Zahlenwerte komprimieren möchten, die über einen großen Maßstab verteilt sind. Quadratwurzel ist besser, wenn Sie neben der Rechtsschiefe eine weniger excessive Transformation wünschen und auch Nullwerte verarbeiten möchten, während Field-Cox Ihre Daten auch normalisiert, was bei den anderen beiden nicht der Fall ist.
  • Für linksschiefe Daten: Reflektieren Sie zuerst die Daten und wenden Sie dann die genannten Techniken für rechtsschiefe Daten an.
  • So stabilisieren Sie die Varianz: Verwenden Sie Field-Cox oder Yeo-Johnson (ähnlich wie Field-Cox, verarbeitet jedoch auch Null- und destructive Werte).
  • Zur Mittelwertzentrierung und Skalierung: Verwenden Sie die Z-Rating-Standardisierung (Standardabweichung = 1).
  • Für bereichsgebundene Skalierung (fester Bereich, d. h. (2,5)): Verwenden Sie die Min-Max-Skalierung.

Lassen Sie uns einen rechtsschiefen Datensatz generieren und die Log-Transformation auf die gesamten Daten anwenden, um zu sehen, wie das funktioniert:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns

# Generate right-skewed knowledge
np.random.seed(42)
knowledge = np.random.exponential(scale=2, measurement=1000)
df = pd.DataFrame(knowledge, columns=('worth'))

# Apply Log Transformation (shifted to keep away from log(0))
df('log_value') = np.log1p(df('worth'))

fig, axes = plt.subplots(2, 2, figsize=(15, 10))

# Unique Information - Scatter Plot
axes(0, 0).scatter(vary(len(df)), df('worth'), alpha=0.5)
axes(0, 0).set_title('Unique Information (Scatter Plot)')
axes(0, 0).set_xlabel('Index')
axes(0, 0).set_ylabel('Worth')

# Unique Information - Field Plot
sns.boxplot(x=df('worth'), ax=axes(0, 1))
axes(0, 1).set_title('Unique Information (Field Plot)')
axes(0, 1).set_xlabel('Worth')

# Log Remodeled Information - Scatter Plot
axes(1, 0).scatter(vary(len(df)), df('log_value'), alpha=0.5)
axes(1, 0).set_title('Log Remodeled Information (Scatter Plot)')
axes(1, 0).set_xlabel('Index')
axes(1, 0).set_ylabel('Log(Worth)')

# Log Remodeled Information - Field Plot
sns.boxplot(x=df('log_value'), ax=axes(1, 1))
axes(1, 1).set_title('Log Remodeled Information (Field Plot)')
axes(1, 1).set_xlabel('Log(Worth)')

plt.tight_layout()
plt.present()

Anwenden der ProtokolltransformationAnwenden der Protokolltransformation
Anwenden der Protokolltransformation

Sie können sehen, dass eine einfache Transformation die meisten Ausreißer selbst behandelt und auf nur einen reduziert hat. Dies zeigt die Leistungsfähigkeit der Transformation beim Umgang mit Ausreißern. In diesem Fall ist es notwendig, vorsichtig zu sein und Ihre Daten intestine genug zu kennen, um die geeignete Transformation auszuwählen, da andernfalls Probleme auftreten können.

Einpacken

Damit sind wir am Ende unserer Diskussion über Ausreißer, verschiedene Möglichkeiten, sie zu erkennen und wie man mit ihnen umgeht. Dieser Artikel ist Teil der Pandas-Reihe, und Sie können weitere Artikel auf meiner Autorenseite nachlesen. Wie oben erwähnt, finden Sie hier einige zusätzliche Ressourcen, mit denen Sie mehr über Ausreißer erfahren können:

  1. Methoden zur Ausreißererkennung im maschinellen Lernen
  2. Verschiedene Transformationen im maschinellen Lernen
  3. Arten von Transformationen für eine bessere Normalverteilung

Kanwal Mehreen Kanwal ist Ingenieurin für maschinelles Lernen und technische Autorin mit einer tiefen Leidenschaft für Datenwissenschaft und die Schnittstelle zwischen KI und Medizin. Sie ist Mitautorin des E-Books „Maximizing Productiveness with ChatGPT“. Als Google Technology Scholar 2022 für APAC setzt sie sich für Vielfalt und akademische Exzellenz ein. Sie ist außerdem als Teradata Variety in Tech Scholar, Mitacs Globalink Analysis Scholar und Harvard WeCode Scholar anerkannt. Kanwal ist eine leidenschaftliche Verfechterin des Wandels und hat FEMCodes gegründet, um Frauen in MINT-Fächern zu stärken.

[ad_2]

]]>
https://chatgpz.de/data-analytics/so-behandeln-sie-ausreisser-in-datensaetzen-mit-pandas/feed/ 0 3502
So führen Sie mit Pandas speichereffiziente Operationen an großen Datensätzen durch https://chatgpz.de/data-analytics/so-fuehren-sie-mit-pandas-speichereffiziente-operationen-an-grossen-datensaetzen-durch/ https://chatgpz.de/data-analytics/so-fuehren-sie-mit-pandas-speichereffiziente-operationen-an-grossen-datensaetzen-durch/#respond Mon, 29 Jul 2024 21:27:40 +0000 https://chatgpz.de/data-analytics/so-fuehren-sie-mit-pandas-speichereffiziente-operationen-an-grossen-datensaetzen-durch/ [ad_1]

So führen Sie mit Pandas speichereffiziente Operationen an großen Datensätzen durch
Bild vom Herausgeber | Midjourney

Lassen Sie uns lernen, wie Sie in Pandas Operationen mit großen Datensätzen durchführen.

Vorbereitung

Da wir über das Pandas-Paket sprechen, sollten Sie eines installiert haben. Zusätzlich würden wir auch das Numpy-Paket verwenden. Installieren Sie additionally beide.

Kommen wir dann zum zentralen Teil des Tutorials.

Führen Sie speichereffiziente Operationen mit Pandas durch

Pandas sind normalerweise nicht dafür bekannt, große Datensätze zu verarbeiten, da speicherintensive Vorgänge mit dem Pandas-Paket zu viel Zeit in Anspruch nehmen oder sogar Ihren gesamten RAM verschlingen können. Es gibt jedoch Möglichkeiten, die Effizienz von Panda-Vorgängen zu verbessern.

In diesem Tutorial zeigen wir Ihnen, wie Sie Ihre Erfahrung mit großen Datensätzen in Pandas verbessern können.

Versuchen Sie zunächst, den Datensatz mit einem Speicheroptimierungsparameter zu laden. Versuchen Sie außerdem, den Datentyp zu ändern, insbesondere in einen speicherfreundlichen Typ, und löschen Sie alle unnötigen Spalten.

import pandas as pd

df = pd.read_csv('some_large_dataset.csv', low_memory=True, dtype={'column': 'int32'}, usecols=('col1', 'col2'))

Das Konvertieren von Integer und Float mit dem kleinsten Typ würde helfen, den Speicherbedarf zu reduzieren. Die Verwendung des Kategorietyps für die kategorische Spalte mit einer kleinen Anzahl eindeutiger Werte würde ebenfalls helfen. Kleinere Spalten tragen auch zur Speichereffizienz bei.

Als Nächstes können wir den Chunk-Prozess verwenden, um die Nutzung des gesamten Speichers zu vermeiden. Es wäre effizienter, wenn es iterativ verarbeitet würde. Wir möchten beispielsweise den Spaltenmittelwert ermitteln, aber der Datensatz ist zu groß. Wir können 100.000 Daten gleichzeitig verarbeiten und das Gesamtergebnis erhalten.

chunk_results = ()

def column_mean(chunk):
    chunk_mean = chunk('target_column').imply()
    return chunk_mean

chunksize = 100000
for chunk in pd.read_csv('some_large_dataset.csv', chunksize=chunksize):
    chunk_results.append(column_mean(chunk))

final_result = sum(chunk_results) / len(chunk_results) 

Vermeiden Sie außerdem die Verwendung der Methode apply mit Lambda-Funktionen; sie könnte speicherintensiv sein. Alternativ ist es besser, vektorisierte Operationen oder die .apply Methode mit normaler Funktion.

df('new_column') = df('existing_column') * 2

Für bedingte Operationen in Pandas ist es auch schneller zu verwenden np.the placeanstatt die Lambda-Funktion direkt mit .apply

import numpy as np 
df('new_column') = np.the place(df('existing_column') > 0, 1, 0)

Dann verwenden Sie inplace=Truein vielen Pandas-Operationen ist viel speichereffizienter als die Rückzuweisung zu ihrem DataFrame. Es ist viel effizienter, weil die Rückzuweisung einen separaten DataFrame erstellen würde, bevor wir sie in dieselbe Variable einfügen.

df.drop(columns=('column_to_drop'), inplace=True)

Und schließlich: Filtern Sie die Daten möglichst frühzeitig, bevor Sie irgendwelche Operationen durchführen. Dadurch begrenzen Sie die Datenmenge, die wir verarbeiten.

df = df(df('filter_column') > threshold)

Versuchen Sie, diese Tipps zu beherrschen, um Ihre Pandas-Erfahrung mit großen Datensätzen zu verbessern.

Zusätzliche Ressourcen

Cornellius Yudha Wijaya ist Information Science Assistant Supervisor und Datenautor. Während seiner Vollzeitbeschäftigung bei Allianz Indonesien teilt er gerne Python- und Datentipps über soziale Medien und in den Medien. Cornellius schreibt über eine Vielzahl von KI- und maschinellen Lernthemen.

[ad_2]

]]>
https://chatgpz.de/data-analytics/so-fuehren-sie-mit-pandas-speichereffiziente-operationen-an-grossen-datensaetzen-durch/feed/ 0 2713