Zufallsstichprobe Warenkorbanalyse / Dummy-Variablen

Allgemeine Fragestellungen zu Statistik mit SPSS.

Zufallsstichprobe Warenkorbanalyse / Dummy-Variablen

Beitragvon Ohana2410 » Do 26. Nov 2020, 10:52

Hi ihr Lieben,

ich hoffe, dass es noch keinen Thread zu einem der kommenden Fragen gibt. Im Rahmen meiner Bachelorthesis analysiere ich ein Warenkorb mit ca. 100.000 Transaktionen.

Da die Methodik im Vordergrund steht, darf ich mir eine Zufallsstichprobe von ca. 10.000 Transaktionen dafür ziehen. Jetzt ist die SPSS-Datei so aufgebaut, dass eine Variable die TransaktionsID und in der nächsten Variable ein enthaltenes Item steht. Da in der Regel mehrere Items einer Transaktions ID zugeordnet werden, sieht mein SPSS-Datenset wie folgt aus (Inhalte sind fiktiv, es geht nur um den Aufbau):

TransaktionID ITEM
1 Banane
1 Kaffee
1 Milch
2 Kaffee
2 Apfel
3 Tee
3 Banane
3 Milch
..

Ziehe ich eine Zufallsstichprobe, dann werden die Transaktionen aufgesplittet, d.h. vllt. bleibt von TransaktionID 3 nur der Tee übrig. Ich muss aber sicherstellen, dass eine Transaktion komplett bleibt. Ich hoffe, ihr versteht was ich meine. Hat einer eine Idee, wie ich das bewerkstelligen könnte?

Eine weitere Frage hätte ich noch zur Dummy-Variablen-Codierung. Ich arbeite mit SPSS 25 und habe bei Usern im Internet die Funktion "Dummy-Variable erstellen" gesehen, mit welcher es wirklich schnell geht aus Ausprägungen einzelne Dummy-Variablen zu erstellen. Ich müsste für ca. 150 Produktarten über "Umcodieren in andere Variable" die Dummies erstellen. Ist es möglich diese Funktion integriert zu bekommen?

Ich danke euch wirklich vielmals für eure Hilfe!

LG,
Danny
Ohana2410
 
Beiträge: 1
Registriert: Do 26. Nov 2020, 10:27
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Zufallsstichprobe Warenkorbanalyse / Dummy-Variablen

Beitragvon ponderstibbons » Do 26. Nov 2020, 11:13

Zur Fallauswahl probiere vielleicht mal dies (TransaktionsId heißt hier Id):

COMPUTE filter_$=(id ne lag(id) OR $casenum=1).
VARIABLE LABELS filter_$ 'id ne lag(id) OR $casenum=1 (FILTER)'.
VALUE LABELS filter_$ 0 'Not Selected' 1 'Selected'.
FORMATS filter_$ (f1.0).
FILTER BY filter_$.
EXECUTE.

STRING id2 (A32).
IF (id ne lag(id) OR $casenum = 1) id2=id.
EXECUTE.

SORT CASES BY id2(D).

USE ALL.
do if $casenum=1.
compute #s_$_1=10000.
compute #s_$_2=100000.
end if.
do if #s_$_2 > 0.
compute filter_$=uniform(1)* #s_$_2 < #s_$_1.
compute #s_$_1=#s_$_1 - filter_$.
compute #s_$_2=#s_$_2 - 1.
else.
compute filter_$=0.
end if.
VARIABLE LABELS filter_$ '10000 aus den ersten 100000 Fällen (SAMPLE)'.
FORMATS filter_$ (f1.0).
FILTER BY filter_$.
EXECUTE.

FILTER OFF.
USE ALL.
EXECUTE.

AGGREGATE
/OUTFILE=* MODE=ADDVARIABLES
/BREAK=id
/Auswahl=MAX(filter_$).

LG

wtf

Mit freundlichen Grüßen

PonderStibbons
ponderstibbons
 
Beiträge: 2477
Registriert: Sa 1. Okt 2011, 17:20
Danke gegeben: 1
Danke bekommen: 255 mal in 254 Posts


Zurück zu Statistik allgemein

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

cron