Heim  >  Artikel  >  Backend-Entwicklung  >  Stratifizierte Stichprobentechniken in Python

Stratifizierte Stichprobentechniken in Python

PHPz
PHPzOriginal
2023-06-10 22:40:012017Durchsuche

Strategische Stichprobentechniken in Python

Sampling ist eine häufig verwendete Datenerfassungsmethode in der Statistik. Sie kann einen Teil der Stichproben aus dem Datensatz zur Analyse auswählen, um auf die Eigenschaften des gesamten Datensatzes zu schließen. Im Zeitalter von Big Data sind die Datenmengen riesig und die Verwendung der gesamten Stichprobe für die Analyse ist sowohl zeitaufwändig als auch wirtschaftlich unpraktisch. Daher kann die Wahl einer geeigneten Stichprobenmethode die Effizienz der Datenanalyse verbessern. In diesem Artikel werden hauptsächlich geschichtete Stichprobentechniken in Python vorgestellt.

Was ist eine geschichtete Stichprobe?

Bei der Probenahme ist die geschichtete Probenahme eine häufig verwendete Technik. Im Gegensatz zur einfachen Zufallsstichprobe werden die Daten bei der geschichteten Stichprobe in mehrere Schichten innerhalb der Grundgesamtheit unterteilt, und jede Schicht weist dieselben Attributmerkmale auf. Anschließend werden aus jeder Schicht Stichproben mit unterschiedlichen Wahrscheinlichkeiten entnommen. Diese Methode eignet sich, wenn in der Grundgesamtheit besondere Merkmale vorhanden sind, insbesondere wenn diese Merkmale offensichtlich sind. Die geschichtete Stichprobe ist eine effektivere statistische Stichprobenmethode.

Warum geschichtete Probenahme?

Der Vorteil der geschichteten Stichprobe besteht darin, dass sie die Stichprobengenauigkeit verbessern und Stichprobenfehler reduzieren kann, wodurch bessere Modelle und Schlussfolgerungen erstellt werden können. Im tatsächlichen Szenario der Datenanalyse gibt es verschiedene Arten von Variablen in der Grundgesamtheit. Eine unsachgemäße Verarbeitung dieser Variablen führt zu Abweichungen oder Fehlern, wodurch das etablierte Modell nicht in der Lage ist, der realen Situation gerecht zu werden. Mithilfe der geschichteten Stichprobentechnologie können die gesammelten Stichproben kontrolliert werden, sodass Stichproben, die aus verschiedenen Variablen bestehen, die tatsächliche Situation der Bevölkerung genauer widerspiegeln können.

Wie führt man geschichtete Stichproben in Python durch?

In Python gibt es eine Vielzahl von Paketen, die geschichtetes Sampling implementieren können. Die bekanntesten davon sind die Bibliotheken Numpy und Pandas. Beide Bibliotheken bieten viele nützliche Funktionen, die uns bei der Implementierung geschichteter Stichprobenverfahren helfen können.

Im Folgenden demonstrieren wir anhand eines Beispiels, wie man mit Python geschichtete Stichproben implementiert.

In diesem Beispiel gehen wir davon aus, dass es einen experimentellen Datensatz mit 5 Variablen gibt, darunter Geschlecht, Alter, Größe, Gewicht und ob geraucht werden soll. Dieser Datensatz eignet sich gut für geschichtete Stichprobenverfahren.

Zuerst müssen wir den Datensatz in verschiedene Ebenen aufteilen. Wir wählten das Geschlecht als Schichtungsvariable und teilten Männer und Frauen in zwei Schichten ein.

import pandas as pd

# 生成测试数据
data = pd.DataFrame({
    'sex': ['M', 'M', 'M', 'F', 'F', 'F'],
    'age': [18, 20, 22, 25, 27, 30],
    'height': [170, 172, 175, 160, 165, 170],
    'weight': [65, 70, 75, 55, 60, 65],
    'smoke': [1, 1, 0, 0, 1, 0]
})

# 分层抽样
male = data[data['sex'] == 'M']
female = data[data['sex'] == 'F']

Als nächstes müssen wir die Stichprobengröße für jede Ebene und das entsprechende Stichprobenverhältnis bestimmen. In diesem Beispiel gehen wir davon aus, dass 10 % der Probe von Frauen und 20 % von Männern stammen.

# 分层抽样比例
sampling_prop = {
    'M': 0.2,
    'F': 0.1
}

# 计算每个层级的样本大小
m_size = int(len(male) * sampling_prop['M'])
f_size = int(len(female) * sampling_prop['F'])

Schließlich können wir die Funktion random.choice in der Numpy-Bibliothek verwenden, um Stichproben aus jedem Level zu ziehen. In diesem Beispiel extrahieren wir Stichproben der erforderlichen Ebene aus jeder Ebene:

import numpy as np

# 分层抽样
msample = male.sample(m_size)
fsample = female.sample(f_size)

# 整合分层样本
sample = pd.concat([msample, fsample])

Die Ergebnisse der geschichteten Stichprobe werden relativ genauer sein, und das mit der vollständigen Stichprobe erstellte Modell wird leichter allgemein verwendet. In der Praxis kann die Anwendung geschichteter Stichprobenverfahren die Effizienz und Genauigkeit der Datenrecherche verbessern und zu genaueren Schlussfolgerungen führen.

Das obige ist der detaillierte Inhalt vonStratifizierte Stichprobentechniken in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn