Auswahlverfahren für eine Zufallsstichprobe aus Matrix oder Array mit Datensatz in MATLAB
-
Extrahieren Sie Zufallsstichproben mit der Funktion
randsample
in MATLAB -
Extrahieren Sie Zufallsstichproben mit der
datasample
-Funktion in MATLAB -
Extrahieren Sie zufällige Stichproben-Teilmengen einer Spalte aus einer Datensatzmatrix mit
datasample
in MATLAB
Wir werden verschiedene Methoden zur Auswahl zufälliger Stichproben aus beliebigen Datensätzen, Arrays oder Matrizen mit verschiedenen Befehlen von MATLAB betrachten.
Um Ihre Konzepte zu klären und Ihnen einen vollständigen Einblick zu geben, wie Sie Zufallsstichproben erhalten, erklären wir die Funktionen wie Randn
, randsample
, datasample
, indem wir Beispiele für Codes geben, um Zufallsstichproben aus Ihrem Datensatz mit Ersatz zu extrahieren as ohne Ersatz/Substitution zusammen mit Ausschnitten, die zeigen, wie Ihre Ausgabe aussehen wird.
Nehmen wir an, wir haben eine Matrix, die unseren Datensatz mit 50.000 Zeilen enthält. Wir wollen aus unserer Matrix eine Zufallsstichprobe mit 50 Entitäten auswählen. Wir können diese Aufgabe mit mehr als einer Stichprobenmethode durchführen. Bevor Sie mit der Auflistung dieser Methoden beginnen, denken Sie daran, dass eine Zufallsstichprobe/Daten/Datensatz einige Daten sind, die zufällig aus einer Matrix eines Datensatzes ausgewählt werden. Um Voreingenommenheit und andere unerwünschte mögliche Auswirkungen auszuschließen, verwenden wir Zufallsstichproben. Aber wir müssen bedenken, dass es nicht ganz so einfach ist, wie es uns scheint. Die Auswahl einer Zufallsstichprobe aus einem Datensatz ist komplizierter als die Auswahl von 10 Entitäten aus einem Datensatz, der aus 500 Entitäten besteht. Außerdem müssen wir sicherstellen, ob die Stichprobe tatsächlich zufällig ist oder nicht!
Um mit unserer Annahme fortzufahren, können wir MATLAB verwenden, um Zufallsstichproben aus unserem Datensatz zu extrahieren. MATLAB bietet uns mehrere Funktionen, um zufällige Stichproben/Daten aus einem gegebenen Datensatz auszuwählen. Zum Beispiel können wir die Funktion randsample
in MATLAB verwenden, um Stichproben zufällig aus jedem Array oder jeder Matrix auszuwählen, die Daten enthält, sowohl mit als auch ohne Ersetzung/Substitution.
Extrahieren Sie Zufallsstichproben mit der Funktion randsample
in MATLAB
Unter der Annahme, dass N_obs
-Beobachtungen einheitlich zufällig mit Ersetzungen aus Einträgen im Datensatz ausgewählt werden, verwenden wir die Funktion:
O_put = randsample(ourdata,N_obs)
Wobei N_obs
die Anzahl der Beobachtungen darstellt. Wenn ourdata
ein Vektor ist, ist unsere Ausgabe O_put
auch ein Vektor, der aus N_obs
Zufallsstichproben aus dem Datensatz besteht.
Lassen Sie uns diese Funktion verwenden, um unser angenommenes Problem zu lösen.
Code:
%Let's assume we have 50,000 entries in a dataset "ourdata".
ourdata=50000;
%We want to obtain 5 random samples from this dataset
N_obs=5;
%Let's follow the above-explained concept and write our code
O_put = randsample(ourdata,N_obs);
Ausgabe:
O_put =
46700
33937
42457
32788
1786
Extrahieren Sie Zufallsstichproben mit der datasample
-Funktion in MATLAB
Wenn wir beim Extrahieren von Stichproben die Abmessungen berücksichtigen möchten, verwenden wir die folgende Funktion.
y = datasample(ourdata,N_obs,'Replace',false)
Wenn Replace
true
ist, wählen wir das Sample mit Ersatz; andernfalls wählen wir das Muster ersatzlos aus. Wenn Replace
auf false
gesetzt ist, beschränken wir N_obs
so, dass es nicht mehr als unsere festgelegte Anzahl von Elementen im Datensatz ist.
Replace
ist standardmäßig true
.
true
= Beispiel mit Ersetzung.
false
= Probe ohne Ersatz.
Wir können dies erreichen, indem wir einen einzeiligen Code schreiben. Unter Berücksichtigung der obigen Annahmen formulieren wir unseren Code wie folgt.
%Let's assume we have 50,000 entries in a dataset "ourdata".
%We want to obtain 5 random samples from this dataset
%Let's follow the above-explained concept and write our code using function
%datasample
%Let's Draw five unique values from the integers 1:50000 using 1 line code.
O_put = datasample(1:50000,5,'Replace',false);
Ausgabe:
O_put =
24489 22279 32315 35467 37732
Extrahieren Sie zufällige Stichproben-Teilmengen einer Spalte aus einer Datensatzmatrix mit datasample
in MATLAB
Dazu verwenden wir in MATLAB die Funktion randn
. Es erstellt Arrays von Zufallswerten mit normaler Verteilung.
I_put=randn(A)
erzeugt eine A-by-A-Matrix, die zufällig generierte Elemente enthält.
Wenn A kein Skalar (ein Vektor) ist, zeigt MATLAB eine Fehlermeldung an.
Um nun unsere Zufallsstichproben zu erhalten, verwenden wir die Funktion datasample
, die Teilmengen unserer gegebenen Datenmatrix aus zufälligen Spalten ergibt.
Code:
I_put = randn(10,100000);
O_put = datasample(I_put,5,2,'Replace',false)
Ausgabe:
O_put =
-0.5995 -0.7377 -1.1902 -0.6021 -1.0812
-0.0572 -0.7831 0.4746 0.7105 -0.8038
0.8401 1.0824 -0.3507 0.4069 -2.0817
-1.1358 -0.9041 -0.1702 0.5950 0.3954
-1.0887 -0.7766 -1.6901 -0.5047 1.1286
-0.0187 -0.3354 -0.7458 1.8554 0.8492
0.3251 -0.4219 0.2440 -0.4750 0.7628
1.4713 -1.9788 -1.6672 0.0035 -0.4316
0.6880 1.4387 -1.3525 -0.6950 0.6411
-0.2777 -0.4776 -0.9841 1.2752 0.2645
Mehak is an electrical engineer, a technical content writer, a team collaborator and a digital marketing enthusiast. She loves sketching and playing table tennis. Nature is what attracts her the most.
LinkedIn