der Bachelor-Thesis Anonymisierungsverfahren: Randverteilungen und ihr statistisches Analysepotential Seminar Institut für Statistik Ludwig-Maxmilians-Universität in München Betreuung: Manuel J. A. Eugster 23. Februar 2012 1 / 13
Vortragsinhalt Ziel und Inhalt der 3-dim. Kontingenztafeln Darstellungsformen Kostenanwendung in der der Ergebnisse 2 / 13
Ziel und Inhalt der Ziel der : Untersuchung des statistischen Analysepotentials von Randverteilungen keine Mikrodaten zur Verfügung Anwendungen der linearen und konvexen auf verschiedene Szenarien Erweiterung der sverfahren in Anlehnung an die Methode der Inhalt der : und Anwendung in 2 2 2 Kontingenztafeln Kostenanwendung in der Medizin anhand einer 2 2 2 Kontingenztafel und Anwendung der statistischen Auswertung in 2 2 2 Kontingenztafeln 3 / 13
3-dim. Kontingenztafeln Darstellungsformen 3D-Darstellung, Partialtabellen-Darstellung z h i 1 h 1 j h 1 h 1 k h 12 h h 1 2 11 h 122 h 1 1 h 112 h 11 h 1 21 h 111 h h 1 1 112 h h 121 2 1 h 111 h 111 h212 h 2 1 h 1 h 211 h 1 2 h 1 1 h 211 h 2 2 1 h 1 1 h 21 h 1 y h i 1 1 X 2 k = 1 Merkmal Y 1 2 h i 1 X 1 h 111 h 121 h 1 1 2 h 211 h 221 h 2 1 k = 2 h j1 h 11 h 21 h 1 Merkmal Y 1 2 h i 2 X 1 h 112 h 122 h 1 2 2 h 212 h 222 h 2 2 h j2 h 12 h 22 h 2 h 1 k 2 Z 1 x h j 1 1 Y 2 Abbildung: Kontingenz-Würfel Tabelle: Partialtabellen-Darstellung der dreidim. I J - Kontingenztafel, K Ebenen 4 / 13
3-dim. Kontingenztafeln Darstellungsformen II Marginaltabellen-Darstellung K=2 k=1 k Merkmal Y 1 2 h i X 1 h 11 = h 111 + h 112 h 12 = h 121 + h 122 h 1 2 h 21 = h 211 + h 212 h 22 = h 221 + h 222 h 2 h j h 1 h 2 h Tabelle: Marginaltabellen-Darst. d. dreidim. I J - Kontingenztafel, Summierte k Ebenen Merkmal Y 1 2 Z = 1 Z = 2 Z = 1 Z = 2 h i Merkmal X 1 h 111 h 112 h 121 h 122 h 1 2 h 211 h 212 h 221 h 222 h 2 h j h 1 h 2 h Tabelle: Dreidimensionale I J - Kontingenztafeln Lin. Opt. 5 / 13
Kostenanwendung in der I Überblick der verwendeten Merkmale: Merkmal Bezeichnung Ausprägungen Kodierung X Übergewicht i = 1 nein = 0 i = 2 ja = 1 Y j = 1 Typ I = 0 j = 2 Typ II = 1 Z Alter k = 1 < 60 = 0 (in Jahren) k = 2 60 = 1 Angesetzten jährl. Behandlungskosten pro Patient: c 111 = 1200, c 211 = 1500, c 112 = 3100, c 212 = 3460, c 121 = 1550, c 221 = 1870, c 122 = 3340, c 222 = 3645, 6 / 13
Kostenanwendung in der II Gesamthäugkeit: h = 100 angesetzte 1-dim. Randhäugkeiten: h 1 = 48, h 2 = 52, h 1 = 25, h 2 = 75, h 1 = 40, h 2 = 60 angesetzte 2-dim. Randverteilung: h 1 1 = 19 h 11 = 15 h 11 = 14 h 1 2 = 29 h 12 = 10 h 12 = 34 h 2 1 = 21 h 21 = 25 h 21 = 11 h 2 2 = 31 h 22 = 50 h 22 = 41 Programmierung in R mit dem Paket lpsolve 7 / 13
Kostenanwendung in der III Zielfunktionsvektors: Zusatzfolie c( 1200, 3100, 1550, 3340, 1500, 3460, 1870, 3645) Ergebnis der Berechnung mit 1- u. 2-dim. Randvertlg. > cost_max <- lp ("max",f.objg1,f.con2,f.dir2,f.rhs2,int.vec=1:8) > cost_max$objval [1] 271455 > cost_max$solution [1] 14 0 5 29 1 10 20 21 (...) > cost_min <- lp ("max",f.objg2,f.con2,f.dir2,f.rhs2,int.vec=1:8) > cost_min$objval [1] -270705 > cost_min$solution [1] 4 10 15 19 11 0 10 31 (...) > print ( cost ) [1] "Kosten = [ 270705,..., 271455 ]" 8 / 13
der Ergebnisse keine reellen Daten, sondern modellhafte Berechnungen mit selbst festgelegten Zahlen keine Probleme mit der Freigabe ev. Daten Codes haben fast auf Anhieb funktioniert fast: seit einem Jahr neuer Computer lpsolve-package nicht installiert u. der Befehl nicht im Code (nur library(lpsolve)) verwendete R-Packages haben sich nicht verändert Dokumentation war ausreichend, hätte aber Fazit: ausführlicher sein können der Ergebnisse war eher einfach 9 / 13
der Ergebnisse II Mögliche Gründe: Bachelor-Thesis ist eine theoretische, d.h. Komplexität im mathematischen Teil und nicht im computationalen Teil Künstliche Daten Standard R-Pakete, bei denen nicht mehr viel geändert wird Dokumentation war vielleicht nicht sehr ausführlich, aber sehr ausreichend 10 / 13
Standard-Maximum-Problem: zurück A R m,n, b R m,1, c R n,1, w R n,1. Nebenbedingungen: A w b (m n) (n 1) (m 1) w 0 Zielfunktion: c T w max (1 n) (n 1) Standard-Minimum-Problem: u. a. negierte Zielfkt. maximieren, Ergebnisse wieder mit ( 1) multiplizieren =-Bedingungen: A w b A w b. Implementierung der 1-dim. Randvertlg., Restriktionen als Bedingungen 11 / 13
II zurück Allgemeine Formel: (für p = 2, also i j) max {h i + h j h, 0} h ij min {h i, h j } Formel für 2-dim. : max 0 h ij + h i k h i h ij + h jk h j h i k + h jk h k h ijk min { h jk, h i k, h ij } h ijk h ijk h ijk Implementierung der 2-dim. Randvertlg. in die Lin. Opt.: Restriktionen als zusätzl. lineare Bedingungen 12 / 13
III Parameter für lpsolve > b2 <- c( h1.., h2.., h.1., h.2., h..1, h..2, h1.1, h1.2, h2.1, h2.2, + h.11, h.12, h.21, h.22, h11., h12., h21., h22., -h1.., -h2.., + -h.1., -h.2., -h..1, -h..2, -h1.1, -h1.2, -h2.1, -h2.2, -h.11, + -h.12, -h.21, -h.22, -h11., -h12., -h21., -h22.) # Bedingungsvektor b > b2asmatrix <- as.matrix(b2) > B2 <- b2asmatrix > A2 <- matrix( nrow=36,ncol=8, data= c( 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, + 0, 0, 1, 0, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, 0, -1, 0, 0, 0, -1, 0, + 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, -1, 0, -1, + 0, 0, -1, 0, -1, 0, 0, 0, -1, 0, 0, -1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, + 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, -1, 0, 0, -1, -1, 0, -1, 0, 0, 0, 0, 0, + -1, 0, 0, -1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, -1, 0, 0, -1, 0, -1, 0, -1, 0, 0, 0, 0, 0, -1, 0, -1, 0, 0, 0, 1, + 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, -1, -1, 0, -1, 0, 0, + 0, -1, 0, -1, 0, 0, 0, 0, 0, -1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, + 0, 0, 0, 0, 1, 0, 0, -1, -1, 0, 0, -1, 0, 0, 0, -1, 0, -1, 0, 0, 0, 0, -1, + 0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -1, 0, -1, + -1, 0, 0, 0, -1, 0, 0, 0, -1, 0, 0, 0, 0, -1, 0, 1, 0, 1, 0, 1, 0, 0, + 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1, 0, -1, 0, -1, 0, 0, 0, -1, 0, 0, 0, + -1, 0, 0, 0, -1)) # Bedingungsmatrix A > f.con2 <- A2 > f.dir2 <- c( "<=", "<=", "<=", "<=", "<=", "<=", "<=", "<=", "<=", "<=", "<=", + "<=", "<=", "<=", "<=", "<=", "<=", "<=", "<=", "<=", "<=", "<=", "<=", "<=", + "<=", "<=", "<=", "<=", "<=", "<=", "<=", "<=", "<=", "<=", "<=", "<=" ) > f.rhs2 <- B2 > # Max und Min cost > # Max cost > C_cost_max <- c( 1200, 3100, 1550, 3340, 1500, 3460, 1870, 3645) > C_cost_max_t <- t(c_cost_max) # Zielfunktionsvektor c^t > f.objg1 <- C_cost_max_t zurück 13 / 13