• No results found

Alfa-beta kvoten i prostatacancer

N/A
N/A
Protected

Academic year: 2022

Share "Alfa-beta kvoten i prostatacancer"

Copied!
20
0
0

Loading.... (view fulltext now)

Full text

(1)

U.U.D.M. Project Report 2020:35

Examensarbete i matematik, 15 hp Handledare: Hans Garmo, RCC Ämnesgranskare: Rolf Larsson Examinator: Martin Herschend Augusti 2020

Department of Mathematics

Alfa-beta kvoten i prostatacancer

Casper Fredriksson de Rond

(2)
(3)

Alfa-beta kvoten i prostatacancer

Casper Fredriksson de Rond Mars 2020

1 Introduktion

1.1 Prostatacancer

Cancer defineras som celler med ¨okad celldelning som invaderar andra v¨avnader i kroppen. Cancer orsakas av mutationer i cellens DNA som leder till att de normala funktionerna st¨ors. Gemensamt f¨or m˚anga cancertyper ¨ar att gener som kontrollerar celldelning, celld¨od och DNA reparation har muterats. Cancer beter sig olika beroende p˚a vilken typ av cell den utvecklats fr˚an[1].

Cancer ¨ar en av de vanligaste d¨odsorsakerna och i Sverige st˚ar cancer f¨or 26% av d¨odsfallen. I Sverige ¨ar prostatacancer den vanligaste cancerdiagnosen bland m¨an och 2018 dog 2313 m¨an till f¨oljd av prostatacancer[2].

I tidigt stadie av prostatacancer m¨arks ofta inga symptom, utan det ¨ar f¨orst n¨ar prostatan svullnat upp s˚a pass mycket att den b¨orjar trycka p˚a urinr¨oret som det m¨arks av. Detta leder d˚a till problem med urinering. Prostatacancer kan ¨aven ge symptom n¨ar den metastaserar, d˚a ofta till skelettet. P˚a grund av prostatans l¨age s¨atter sig ofta metastaserna i h¨often och ryggen och ger upphov till sm¨arta i dessa regioner[3].

1.1.1 Diagnostisering

Den vanligaste diagnosmetoden f¨or prostatacancer ¨ar m¨atning av prostataspe- cifikt antigen (PSA) i blodet. PSA ¨ar ett protein som bildas i prostatan och det finns i vanliga fall inte i n˚agra st¨orre m¨angder i blodet. F¨orh¨ojda PSA-v¨arden

¨ar vanligt vid prostatacancer men det finns ¨aven andra faktorer som leder till f¨orh¨ojda v¨arden. Av den anledningen kan inte en diagnos st¨allas p˚a grund av en- bart f¨orh¨ojda PSA-v¨arden. F¨or att kunna s¨akerst¨alla en diagnos utf¨ors biopsier av prostatan som sedan unders¨oks i mikroskop. Vid unders¨okning av prostatan i mikroskop klassificeras cancerceller med Gleasonpo¨ang beroende p˚a hur mycket cellernas utseende avviker fr˚an normala celler, po¨angen g˚ar fr˚an 1 till 5 d¨ar 5 ¨ar mest olik normala celler. Eftersom cancerceller kan ha olika Gleasonpo¨ang i en och samma tum¨or tittar man p˚a de tv˚a mest f¨orekommande cancercellstyperna och adderar po¨angen till en Gleasonsumma. Vanligtvis f˚ar man inte diagnosen prostatacancer om Gleasonsumman ¨ar under 6[4]. En cancer kan ocks˚a bed¨omas

(4)

utifr˚an tum¨or, nod, metastas (TNM) gradering. TNM-gradering best˚ar av 3 se- parata graderingar, T-stadie, N-stadie och M-stadie. T-stadie v¨arderar tum¨orens utbredning och delas in i T1 till T4. T1 betyder att tum¨oren ¨ar f¨or liten f¨or att synas p˚a tomografiunders¨okningar, T2 betyder att tum¨oren ¨ar helt innesluten i kapseln som omger prostatan, T3 betyder att tum¨oren har spridit sig utanf¨or kapseln men inte in i andra v¨avnader och T4 betyder att tum¨oren har spridit sig till n¨arliggande organ. Stadierna kan ytterligare delas in i subkategorier men det ¨ar inget som anv¨ands i den h¨ar uppsatsen. N- och M-stadie delas in i 0 och 1 d¨ar 0 betyder att cancern inte spridit sig till lymfnoder respektive metastaserat och 1 betyder att den har gjort det.

1.1.2 Behandling

Beroende p˚a patientens h¨alsa anv¨ands olika behandlingar. Om patienten har d˚alig h¨alsa anv¨ands oftast behandlingar som hindrar tillv¨axten av tum¨oren och lindrar symptom ist¨allet f¨or behandlingar som botar patienten d˚a de kan vara f¨or farliga f¨or patienten. Om cancern ¨ar tillr¨ackligt lindrig kan man ocks˚a avst˚a behandling d˚a det inte ¨ar s¨akert att cancern kommer utvecklas till en allvarlig sjukdom. I de fallen d¨ar man v¨aljer att f¨ors¨oka bota cancern finns det tv˚a olika behandlingar, kirurgi och str˚albehandling.

Kirurgi inneb¨ar att man tar bort prostatan och s¨adesbl˚asorna. Vid kirurgibe- handling kan patienten f˚a problem med erektion och inkontinens efter˚at och m˚anga f˚ar best˚aende men. ¨Aven efter operation ˚aterfaller ca 25% av patienter- na och det beror mycket p˚a vilken Gleasonsumma tum¨oren har.

Str˚albehandling kan delas in i tv˚a kategorier, inre och yttre str˚albehandlning, i den h¨ar uppsatsen kommer fokuset ligga p˚a yttre str˚albehandling. Yttre str˚albehandling g˚ar ut p˚a att tum¨oren str˚alas med radioaktiv str˚alning vilket d¨odar celler. Ef- tersom ¨aven omkringliggande v¨avnad uts¨atts f¨or str˚alningen kan patienten f˚a erektionsproblem, inkontinens och problem med ¨andtarmen efter behandling- en. Cancerceller har en oh¨ammad celldelning och s¨amre f¨orm˚aga att reparera sitt DNA, d¨arf¨or ¨ar de k¨ansligare f¨or str˚alning ¨an vanliga celler vilket g¨or att str˚albehandling ¨ar v¨aldigt effektivt[3].

1.2 Alfa-beta kvoten

Att celler d¨or av radioaktiv str˚alning ¨ar det ingen som ifr˚agas¨atter men hur celld¨oden ska modelleras med ¨okande str˚aldos ¨ar inte helt s¨akerst¨allt men ett av de vanligaste s¨atten, och det som kommer anv¨andas i den h¨ar uppsatsen, ¨ar alfa-beta kvoten. D˚a modelleras cell¨overlevnaden S vid dosen d, m¨att i Gray, som

S = e−(αd+βd2) (1)

Vid sm˚a doser kommer storleken p˚a α ha st¨orst effekt p˚a cell¨overlevnaden men n¨ar dosen ¨okar kommer storleken p˚a β att f˚a en st¨orre effekt och alfa-beta kvoten representerar dosen d¨ar α och β bidrar lika mycket till cell¨overlevnaden. Vid n upprepade doser d¨ar tiden mellan doserna ¨ar tillr¨ackligt liten f¨or att cellerna

(5)

ska hinna reparera DNA-skadorna mellan varje dos men tillr¨ackligt stor f¨or att celldelningen inte ska p˚averka blir cell¨overlevnaden

S = (e−(αd+βd2))n= e−nd(α+βd)= e−D(α+βd) (2) d¨ar D ¨ar den totala str˚aldosen och d ¨ar fraktionsdosen. Det h¨ar betyder att v¨avnad med en h¨og alfa-beta kvot ¨ar k¨ansligare f¨or en ¨okad fraktionsdos ¨an v¨avnad med l˚ag alfa-beta kvot.

Om man k¨anner till alfa-beta kvoten kan man r¨akna ut vilken total str˚aldos som en behandling med fraktionsdos d1 beh¨over f¨or att f˚a samma effekt som en annan behandling med total str˚aldos D2och fraktionsdos d2 genom

e−D(α+βd1)= e−D2(α+βd2) D(α + βd1) = D2(α + βd2)

D = D2

(αβ + d2) (αβ + d1)

(3)

Alfa-beta kvoten f¨or olika v¨avnadstyper ¨ar viktig att veta f¨or att kunna minimera biverkningar fr˚an str˚albehandling. Biverkningarna uppst˚ar eftersom

¨aven frisk v¨avnad som ligger n¨ara tum¨oren str˚alas och b¨orjar d¨o. Eftersom alfa-beta kvoten s¨ager hur k¨anslig v¨avnaden ¨ar f¨or ¨okad fraktionsdos kan den anv¨andas om b˚ade cancerv¨avnadens och den friska v¨avnadens alfa-beta kvot

¨ar k¨and. Om cancern har h¨ogre alfa-beta kvot ¨an den friska v¨avnaden ¨ar den mindre k¨anslig f¨or en ¨okad fraktionsdos och fraktionsdosen b¨or h˚allas l˚ag och ist¨allet ¨oka antalet behandlingstillf¨allen.

En metaanalys fr˚an 2019 uppskattar alfa-beta kvoten till 1.6 med ett 95%-igt konfidensintervall p˚a (1.3, 2.0)[5].

2 Data

Datamaterialet ¨ar tagen fr˚an PCBaSe som ¨ar en databas f¨or prostatacancer och har skapats genom att sl˚a samman data fr˚an Nationella Prostatacancerregistret (NPCR) med datamaterial fr˚an andra databaser med hj¨alp av personnummer.

Datamaterialet best˚ar av 54 variabler fr˚an 19843 patienter. Efter att ha tagit bort alla patienter som dog innan 2008-12-31 ˚aterstod 19093 patienter och efter att ha tagit bort de som fick n˚agon typ av inre str˚albehandling ˚aterstod 13329 patienter. I analysen anv¨andes 8 variabler som oberoende och 2 som beroende.

De oberoende variablerna ¨ar EQD2, ˚alder, Gleasonsumma, PSA, T stadie, pro- portion av biopsin˚alar med cancer i, utbildningsniv˚a och Charlson Comorbidity Index (CCI).

EQD2 ¨ar den ekvivalenta totala str˚aldosen vid fraktionsdos 2 Gray f¨or en given alfa-beta kvot.

Gleasonsumman ¨ar uppdelad i 5 kategorier, Gleasonsumma 2-6, Gleasonsumma 7 d¨ar st¨orsta andelen av tum¨oren har Gleasonv¨arde 1-3, Gleasonsumma 7 d¨ar st¨orsta andelen av tum¨oren har Gleasonv¨arde 4-5, Gleasonsumma 8 och Glea- sonsumma 9-10.

(6)

PSA ¨ar indelad i 5 kategorier beroende p˚a vilken halt som uppm¨attes i blodet, halten anges i mikrogram per liter. Kategorierna ¨ar 0-3, 3-10, 10-20, 20-50 och

>50.

T stadie ¨ar uppdelad i 1-4 f¨or T1-T4.

Utbildningsniv˚an ¨ar indelad i tre kategorier, l˚ag, medel och h¨og. L˚ag inneb¨ar att personen har 9 ˚ars f¨orgymnasial utbildning eller mindre, medel inneb¨ar att personen har mindre ¨an 3 ˚ars eftergymnasial utbildning och h¨og inneb¨ar att personen har 3 ˚ars eftergymnasial utbildning eller mer.

CCI ¨ar en gradering d¨ar man f˚ar po¨ang f¨or varje underliggande sjukdom man har beroende p˚a hur d¨odliga de ¨ar och sedan summeras alla po¨ang. [6]

3 Metod

3.1 Overlevnadsanalys ¨

Overlevnadsanalys handlar om sannolikheten att det tar en viss tid till en¨ h¨andelse, t.ex. hur l¨ange ett kugghjul h˚aller i en maskin eller hur l¨ange en patient ¨overlever efter en viss behandling. Inom ¨overlevnadsanalys talar man ofta om ¨overlevnadsfuntionen S(t) = 1 − F (t) d¨ar F (t) ¨ar den kumulativa f¨ordelningsfuntionen. ¨Overlevnadsfunktionen beskriver sannolikheten att h¨andelsen intr¨affar efter tiden t. Hasarden ¨ar definerad som

λ(t) = lim

dt→0

P (t ≤ T < t + dt|t ≤ T )

dt = (4)

= lim

dt→0

P (t ≤ T < t + dt)

P (t ≤ T )dt = f (t)

S(t) = −S0(t)

S(t) (5)

och beskriver sannolikheten att h¨andelsen intr¨affar vid tid t givet att den inte intr¨affat innan.

3.1.1 Coxregression

Coxregression ¨ar en proportionell hasardmodell (proportional hazard model) vilket inneb¨ar att hasarden ¨ar multiplikativt beroende av kovariaterna och att kovariaternas effekt ¨ar oberoende av varandra. Hasarden vid tid t givet kovari- aterna X blir d˚a λ(t|X) = λ0(t) exp(X · θ) d¨ar λ0 ¨ar basv¨ardeshasarden och θ

¨ar en vektor med koefficienter.

F¨or ett prov X = {X1, X2, . . . , Xn} d¨ar experiment i har kovariaterna Xi = {Xi1, Xi2, . . . , Xip} och h¨andelsen skedde vid tid Yihar varje experiment likeli- hoodfunktionen:

L(θ|Xi) = λ(Yi|Xi)

Σj:Yj≥Yiλ(Yi|Xj) (6)

= λ0(t) exp(Xi· θ)

Σj:Yj≥Yiλ0(t) exp(Xj· θ) (7)

= exp(Xi· θ)

Σj:Yj≥Yiexp(Xj· θ) (8)

(7)

Om experimenten kan antas vara oberoende blir likelihoodfunktionen f¨or hela provet:

L(θ|X) = Πi:Ci=1L(θ|Xi) (9) d¨ar Ci = 1 inneb¨ar att h¨andelsen har intr¨affat innan den tidpunkten datan samlades in.

I ekvation (3) ser man att likelihoodfunktionen ¨ar oberoende av λ0 som inte beh¨over estimeras f¨or att genomf¨ora regressionen.

3.2 Estimering av alfa-beta kvoten

F¨or att estimera alfa-beta kvoten gjordes flera coxregressioner med olika alfa- beta kvoter. Eftersom EQD2 beror p˚a alfa-beta kvoten genom det icke-linj¨ara f¨orh˚allandet:

DEQD2= D

α β + d

α

β + 2 (10)

(se ekvation 2) kommer regressionsmodellerna ha olika likelihood f¨or olika alfa- beta kvoter. Sedan valdes den alfa-beta kvot som gav regressionsmodellen med h¨ogst likelihood.

3.3 Bootstrap

Bootstrap anv¨ands n¨ar man inte vet vilken f¨ordelning ett estimat har. Det g˚ar ut p˚a att man antar att provet ¨ar representativt f¨or hela befolkningen, sedan resamplas provet och estimatorn ber¨aknas. Processen upprepas sedan s˚a m˚anga g˚anger som beh¨ovs f¨or att f˚a bra data. De ber¨aknade v¨ardena kan d˚a ses som en empirisk f¨ordelningsfunktion och ett konfidensintervall kan ber¨aknas.

3.4 Imputation

Ett vanligt problem i statistiska analyser ¨ar att datam¨angderna saknar data f¨or vissa variabler vilket g¨or att man inte kan anv¨anda m˚anga analysmetoder. F¨or att komma runt det kan man utesluta alla datapunkter som saknar minst en va- riabel. Problemet som d˚a kan uppst˚a ¨ar att det inte ¨ar helt slumpm¨assigt vilken data som utesluts utan att en viss typ av datapunkt har en st¨orre sannolikhet att sakna data f¨or en variabel vilket g¨or analysen partisk. F¨or att undvika det kan man fylla i de saknade v¨ardena p˚a olika s¨att till exempel anv¨anda medelv¨ardet f¨or den variabeln eller ta ett v¨arde fr˚an en slumpm¨assigt vald datapunkt d¨ar v¨ardet inte saknas. Olika metoder har olika f¨or och nackdelar och det finns ingen som ¨ar objektivt b¨ast. Genom att anv¨anda flera olika metoder och kombi- nera resultaten kan man reducera nackdelarna. Imputationen gjordes av Marcus Westerberg och f¨or att se vilka metoder som anv¨andes se artikeln ’Prediction of metastatic prostate cancer by prostate-specific antigen in combination with T stage and Gleason Grade: Nationwide, population-based register study’[7].

(8)

3.4.1 Rubin’s regel

Rubin’s regel anv¨ands n¨ar man estimerar en parameter med hj¨alp av flera olika imputerade datam¨angder n¨ar parametern kan antas vara normalf¨ordelad. Regeln s¨ager att medelv¨ardet f¨or parametern θ ¨ar:

θ =¯ 1

Dd=1θˆd (11)

d¨ar D ¨ar antalet imputerade datam¨angder och ˆθd¨ar estimeringen f¨or datam¨angd d. F¨or att ber¨akna en skattning av den totala variansen T f¨or θ beh¨over man skatta variansen f¨or θ inom de imputerade datam¨angderna,

V =¯ 1

Dd=1Vd (12)

d¨ar Vd ¨ar variansen i datam¨angd d och mellan datam¨angderna

B = 1

D − 1ΣDd=1(¯θ − ˆθd)2 (13) Skattningen av den totala variansen T blir d˚a:

T = ¯V + (1 + D−1)B (14)

Sedan kan ett konfidensintervall ber¨aknas.

4 Resultat

Datam¨angd 1 ¨ar hela datam¨angden och analysen utf¨ordes med 1000 iterationer av bootstrap. Datam¨angd 2 ¨ar hela datam¨angden d¨ar alla patienter som dog innan 2008-12-31 ¨ar exkluderade och analysen utf¨ordes med 1000 iterationer av bootstrap. Datam¨angd 3 ¨ar datam¨angd 2 d¨ar alla patienter som f˚att n˚agon typ av inre str˚albehandling har blivit exkluderade och analysen utf¨ordes med 1000 iterationer av bootstrap. Eftersom den h¨ogsta alfa-beta kvoten som testas ¨ar 11 kan man inte utifr˚an den h¨ar analysen dra en slutsats p˚a vad den ¨ovre gr¨ansen p˚a konfidensintervallet b¨or vara. Datam¨angd 4 ¨ar de imputerade datam¨angderna och resultatet togs fram med Rubin’s rule. Datam¨angd 5 ¨ar samma som da- tam¨angd 4 men konfidensintervallet ber¨aknades som f¨or en vanlig bootstrap. Se tabell 1 f¨or punktskattningar och konfidensintervall f¨or datam¨angd 1-5. Se ¨aven Figur 1-4 f¨or histogram ¨over ber¨aknade alfa-beta kvoter.

(9)

Datam¨angd Punktskattning Konfidensintervall

1 4.00 (2.4, 5.6)

2 4.52 (2.9, 6.0)

3 4.11 (2.7, >11)

4 4.38 (3.32, 5.44)

5 - (2.85, 5.85)

Tabell 1: Tabellen visar punktskattningar och konfidensintervall f¨or olika da- tam¨angder.

5 Diskussion

En metaanalys fr˚an 2019 uppskattar alfa-beta kvoten till 1.6 med ett 95%-igt konfidensintervall p˚a (1.3, 2.0) [5].

Resultaten fr˚an alla analyser som gjordes skiljer sig fr˚an resultatet i metaanaly- sen d˚a inget konfidensintervall fr˚an denna analys ¨overlappar med konfidensinter- vallet i den studien. Det h¨ar skulle kunna bero p˚a att tillv¨agag˚angss¨attet skiljer sig ˚at. I artikeln uppskattar de en dos-respons kurva som de sedan anv¨ander f¨or att uppskatta alfa-beta kvoten. I den h¨ar analysen anv¨ands ¨overlevnadstiden fr˚an behandling som den beroende variabeln medan man i artikeln anv¨ander PSA-˚aterfall. N¨ar man behandlar prostatacancer sjunker PSA niv˚aerna i blo- det och om de b¨orjar ¨oka igen och kommer ¨over ett visst v¨arde kallas det f¨or PSA-˚aterfall och anv¨ands som indikation att cancern kommit tillbaka. Eftersom PSA-˚aterfall inte n¨odv¨andigtvis f¨orutser d¨od i prostatacancer ¨ar det mycket m¨ojligt att det ¨ar d¨arf¨or resultaten skiljer sig ˚at. Artikeln ¨ar ocks˚a en metaa- nalys vilket inneb¨ar att den tar data fr˚an flera olika artiklar och sammanst¨aller dem vilket kan p˚averka vad man f˚ar f¨or resultat eftersom datamaterialet kan samlas in eller m¨atas p˚a olika s¨att.

Resultatet fr˚an datam¨angd 1 skiljer sig fr˚an resterande resultat ¨aven fast bara ca 800 deltagare utesl¨ots fr˚an datam¨angd 1 till datam¨angd 2 vilket skulle kunna tyda p˚a att ¨aldre data inte ¨ar lika tillf¨orlitliga som nyare data. Det skulle kunna bero p˚a att str˚alningstekniken har f¨orb¨attrats s˚a att man kan s¨akerst¨alla att r¨att omr˚ade f˚ar den dos man avser. Det ¨ar ocks˚a intressant att datam¨angd 3 har en svans av h¨oga v¨arden som g¨or att konfidensintervallets ¨ovre gr¨ans blir betydligt mycket h¨ogre ¨an f¨or de andra datam¨angderna. Det kan bero p˚a att inre str˚albehandling ofta anv¨ander mycket h¨ogre fraktionsdoser och man f˚ar d˚a en st¨orre variation i datan och alfa-beta kvoten f˚ar en st¨orre effekt p˚a resulta- tet. Utan den inre str˚albehandlingen kan likelihoodkurvan bli flackare och sm˚a skillnader i vilka datapunkter som v¨aljs f˚ar st¨orre effekter p˚a skattningen av alfa-beta kvoten.

Metoden som anv¨andes h¨ar f¨or att skatta alfa-beta kvoten kan kritiseras ef- tersom den anv¨ander datamaterial som ¨ar v¨aldigt l˚angt ifr˚an vad alfa-beta kvo- ten faktiskt p˚averkar, vilket ¨ar celld¨od. I metoden anv¨ands ¨overlevnadstiden f¨or patienten som ett m˚att p˚a celld¨od i cancern vilket bygger p˚a antagandet att ju fler cancerceller som d¨or desto st¨orre chans har man att ¨overleva en l¨angre tid.

(10)

Ett mer direkt s¨att att uppskatta alfa-beta kvoten hade varit att str˚ala en tum¨or med olika fraktionsdoser och sedan unders¨oka hur m˚anga cancerceller som dog.

Det man vill anv¨anda alfa-beta kvoten till ¨ar dock inte att veta hur m˚anga cancerceller som d¨or utan att f˚a patienterna att leva s˚a l¨ange som m¨ojligt efter behandling. D¨arf¨or finns det en po¨ang i att anv¨anda ¨overlevnadstiden ist¨allet f¨or celld¨od f¨or att s¨akerst¨alla att alfa-beta kvoten faktiskt ¨ar meningsfull att ta reda p˚a och inte n˚agon l˚atsasvariabel. S˚a ¨aven om det h¨ar s¨attet att upp- skata alfa-beta kvoten inte ¨ar den mest direkta s˚a bidrar den ¨and˚a med viktig information om alfa-beta kvoten och s¨akerst¨aller dess relevans.

(11)

Referenser

[1] National Cancer Institute. What is cancer? url: https://www.cancer.

gov / about - cancer / understanding / what - is - cancer. (Fr˚an: 2020-05- 22).

[2] Folkh¨alsomyndigheten. D¨odlighet i prostatacancer. url: https : / / www . folkhalsomyndigheten.se/folkhalsorapportering-statistik/tolkad- rapportering/folkhalsans-utveckling/halsa/dodlighet-i-cancer/

prostatacancer-dodlighet. (Fr˚an: 2020-05-22).

[3] Cancerfonden. Prostatacancer. url: https://www.cancerfonden.se/om- cancer/cancersjukdomar/prostatacancer. (Fr˚an: 2020-05-22).

[4] Prostate Cancer Foundation. Gleason Score and Grade Group. url: https:

//www.pcf.org/about-prostate-cancer/diagnosis-staging-prostate- cancer/gleason-score-isup-grade/. (Fr˚an: 2020-05-22).

[5] Ivan R. Vogelius och Søren M. Bentzen. “Diminishing Returns From Ult- rahypofractionated Radiation Therapy for Prostate Cancer”. I: Internatio- nal Journal of Radiation Oncology 107.2 (2020), s. 299–304. doi: https:

//doi.org/10.1016/j.ijrobp.2020.01.010.

[6] Charlson ME m. fl. “A new method of classifying prognostic comorbidity in longitudinal studies: development and validation”. I: J Chronic Dis 40.5 (1987). doi: 10.1016/0021-9681(87)90171-8.

[7] Frederik B. Thomsen m. fl. “Prediction of metastatic prostate cancer by prostate-specific antigen in combination with T stage and Gleason Grade:

Nationwide, population-based register study”. I: PLoS ONE 15.1 (2020).

doi: https://doi.org/10.1371/journal.pone.0228447.

(12)

A Figurer

Figur 1: Figuren visar ett histogram ¨over alla ber¨aknade v¨arden i bootstrapen f¨or datam¨angd 1

Figur 2: Figuren visar ett histogram ¨over alla ber¨aknade v¨arden i bootstrapen f¨or datam¨angd 2

(13)

Figur 3: Figuren visar ett histogram ¨over alla ber¨aknade v¨arden i bootstrapen f¨or datam¨angd 3. En alfa-beta kvot p˚a 11 var det h¨ogsta som testades vilket ¨ar varf¨or sista stapeln ¨ar betydlig h¨ogre ¨an de andra i n¨arheten.

Figur 4: Figuren visar ett histogram ¨over alla ber¨aknade v¨arden i bootstrapen f¨or datam¨angd 5.

(14)

Figur 5: Figuren visar en QQ-plot ¨over de estimerade v¨ardena f¨or alfa-beta kvoten. Den r¨oda linjen ¨ar en referens f¨or en normalf¨ordelning.

B Kod

library(survival)

setwd("C:/Users/pcbase-casper.fred/Documents") D <- read.csv("PrimaryRT.csv")

for (i in 1:20){

assign(paste("IMP", i, sep = ""), read.csv(paste("IMP", i, ".csv", sep = ""))) }

#### Lite Data Management ####

D$Gleason <- factor(1*(D$D_GLEASSA %in% 2:6)+

2*(D$D_GLEASSA %in% 7 & D$D_GLEASETT %in% 1:3) + 3*(D$D_GLEASSA %in% 7 & D$D_GLEASETT %in% 4:5) + 4*(D$D_GLEASSA %in% 8) +

5*(D$D_GLEASSA %in% 9:10),levels=c(1:5,0), labels=c(paste0(’GGG’,1:5),’Missing’)) table(D$Gleason,exclude = NULL)

D$ProportionCores_tmp <- cut(D$d0_biopca/D$d0_biop,breaks=c(-0.01,0.2,0.4,0.7,1)) table(D$ProportionCores_tmp,exclude = NULL)

D$ProportionCores <- factor(D$ProportionCores_tmp,

levels=c(levels(D$ProportionCores_tmp),NA),

labels=c(’0-20%’,’21-40%’,’41-70%’,’>70%’,’Missing’) ,exclude = NULL)

D$PSAgrp_tmp <- cut(D$d0_psa,breaks=c(-0.01,3,10,20,50,Inf))

(15)

table(D$PSAgrp_tmp,exclude = NULL)

D$PSAgrp <- factor(D$PSAgrp_tmp,levels=c(levels(D$PSAgrp_tmp),NA),

labels=c(’0-3’,’3-10’,’10-20’,’20-50’,’50+’,’Missing’),exclude=NULL) table(D$d0_t_txt)

D$Tstage <- factor(1*(D$d0_t_txt %in% c(’T1’,’T1a’,’T1b’,’T1c’))+

2*(D$d0_t_txt %in% ’T2’)+

3*(D$d0_t_txt %in% ’T3’)+

4*(D$d0_t_txt %in% ’T4’),levels=c(1:4,0), labels=c(paste0(’T’,1:4),’Missing’))

D$RTyear <- as.numeric(substr(D$RTdate,1,4)) D$CCIgrp <- cut(D$cci_num,breaks=c(-1,0,1,2,Inf)) table(D$CCIgrp)

D$D_UPPDAG[D$DUPPDAG %in% c("","9")] = NA D$ModeOfDetection = factor(D$D_UPPDAG,

levels=c(2,4,5,NA),labels=c(’H¨alsounders¨okning’,’LUTS’,

’Andra symptom’,

’Missing’), exclude = NULL) D$LDOF = as.Date(D$LDOF)

ltrunc_data = D

ltrunc_data = ltrunc_data[ltrunc_data$LDOF > as.Date("2008-12-31"),]

ltrunc_data$EnterTime = as.Date("2008-12-30") - as.Date(ltrunc_data$RTdate) ltrunc_data$EnterTime[ltrunc_data$EnterTime < 0] = 0

nobrac_data = ltrunc_data[ltrunc_data$Grupp != ’F’, ] nobrac_data = nobrac_data[nobrac_data$Grupp != ’H’, ] get_likelyhood = function(Alpha_Beta, cox_data, indices){

cox_data$Konventionell <-

cox_data$s_slutdosrt*(cox_data$s_fraktdosrt+Alpha_Beta)/(2+Alpha_Beta) cox_data$Boost_eqd2 <-

cox_data$s_slutdosboost*(cox_data$s_fraktdosboost+Alpha_Beta)/(2+Alpha_Beta) cox_data$EQD2_alphabeta <- ifelse(!is.na(cox_data$Konventionell) &

is.na(cox_data$Boost_eqd2),cox_data$Konventionell,

ifelse(is.na(cox_data$Konventionell) & !is.na(cox_data$Boost_eqd2),cox_data$Boost_eqd2, ifelse(!is.na(cox_data$Konventionell) & !is.na(cox_data$Boost_eqd2) &

!(cox_data$S_BOOSTSPEC %in% 2),

cox_data$Konventionell+cox_data$Boost_eqd2,cox_data$Konventionell+

cox_data$Boost_eqd2*1.1)))

cox_data$EQD2_alphabeta[cox_data$RT_doses==’NA + 10 Gy to 20 Gy’] <-

(16)

50 + cox_data$Boost_eqd2[cox_data$RT_doses==’NA + 10 Gy to 20 Gy’]

z <- coxph(Surv(TimeFU, CENSOR==1) ~ EQD2_alphabeta + d0_age +

Gleason + PSAgrp + Tstage +

ProportionCores + utb_cat +

CCIgrp

,data=cox_data[indices,]) return(t(c(z$loglik[2], Alpha_Beta))) }

get_likelyhood_alt = function(Alpha_Beta, cox_data, indices){

cox_data$Konventionell <-

cox_data$s_slutdosrt*(cox_data$s_fraktdosrt+Alpha_Beta)/(2+Alpha_Beta) cox_data$Boost_eqd2 <-

cox_data$s_slutdosboost*(cox_data$s_fraktdosboost+Alpha_Beta)/(2+Alpha_Beta) cox_data$EQD2_alphabeta <- ifelse(!is.na(cox_data$Konventionell) &

is.na(cox_data$Boost_eqd2),cox_data$Konventionell,

ifelse(is.na(cox_data$Konventionell) & !is.na(cox_data$Boost_eqd2),cox_data$Boost_eqd2, ifelse(!is.na(cox_data$Konventionell) & !is.na(cox_data$Boost_eqd2) &

!(cox_data$S_BOOSTSPEC %in% 2),

cox_data$Konventionell+cox_data$Boost_eqd2,cox_data$Konventionell+

cox_data$Boost_eqd2*1.1)))

cox_data$EQD2_alphabeta[cox_data$RT_doses==’NA + 10 Gy to 20 Gy’] <- 50 + cox_data$Boost_eqd2[cox_data$RT_doses==’NA + 10 Gy to 20 Gy’]

z <- coxph(Surv(EnterTime, TimeFU, CENSOR==1) ~ EQD2_alphabeta + d0_age +

Gleason + PSAgrp + Tstage +

ProportionCores + utb_cat +

CCIgrp

,data=cox_data[indices,])

return(t(c(z$loglik[2], Alpha_Beta))) }

get_likelyhood_imp = function(Alpha_Beta, cox_data, indices){

cox_data$Konventionell <-

cox_data$s_slutdosrt*(cox_data$s_fraktdosrt+Alpha_Beta)/(2+Alpha_Beta) cox_data$Boost_eqd2 <-

(17)

cox_data$s_slutdosboost*(cox_data$s_fraktdosboost+Alpha_Beta)/(2+Alpha_Beta) cox_data$EQD2_alphabeta <- ifelse(!is.na(cox_data$Konventionell) &

is.na(cox_data$Boost_eqd2),cox_data$Konventionell, ifelse(is.na(cox_data$Konventionell) &

!is.na(cox_data$Boost_eqd2),cox_data$Boost_eqd2,

ifelse(!is.na(cox_data$Konventionell) & !is.na(cox_data$Boost_eqd2) &

!(cox_data$S_BOOSTSPEC %in% 2),

cox_data$Konventionell+cox_data$Boost_eqd2,cox_data$Konventionell+

cox_data$Boost_eqd2*1.1)))

cox_data$EQD2_alphabeta[cox_data$RT_doses==’NA + 10 Gy to 20 Gy’] <- 50 + cox_data$Boost_eqd2[cox_data$RT_doses==’NA + 10 Gy to 20 Gy’]

z <- coxph(Surv(TimeFU, CENSOR==1) ~ EQD2_alphabeta + d0_age +

Gleason + PSAgrp + T_stage + BiopRatio + utb_cat +

CCIgrp ,data=cox_data[indices,]) return(t(c(z$loglik[2], Alpha_Beta)))

}

max_likelyhood = function(cox_data, start_val, end_val, step_size, indices){

i = 1

result= matrix(nrow = (end_val-start_val)/step_size + 1, ncol = 2) for (alphabeta in seq(from = start_val, to = end_val, by = step_size)) {

result[i,] = get_likelyhood(alphabeta, cox_data, indices) i = i+1

}

return(result[which(result[,1] == max(result[,1])), 2]) }

max_likelyhood_alt = function(cox_data, start_val, end_val, step_size, indices){

i = 1

result= matrix(nrow = (end_val-start_val)/step_size + 1, ncol = 2) for (alphabeta in seq(from = start_val, to = end_val, by = step_size)) {

result[i,] = get_likelyhood_alt(alphabeta, cox_data, indices) i = i+1

}

return(result[which(result[,1] == max(result[,1])), 2]) }

(18)

max_likelyhood_imp = function(cox_data, start_val, end_val, step_size, indices){

i = 1

loglikely= matrix(nrow = (end_val-start_val)/step_size + 1, ncol = 2) result = data.frame(sapply(seq(start_val, end_val, step_size),

function(alpha_beta) get_likelyhood_imp(alpha_beta, cox_data, indices))) return(result[2, which(result[1,] == max(result[1,]))])

}

bootstrap = function(cox_data, iterations){

result = seq(1, iterations) for (i in seq(1, iterations)) {

print(i)

start_time = Sys.time()

result[i] = max_likelyhood(cox_data, 1, 11, 0.1, sample.int(length(cox_data[,1]), replace = TRUE)) print(Sys.time() - start_time)

print(result[i]) }

result =sort(result) return(result) }

bootstrap_alt = function(cox_data, iterations){

result = seq(1, iterations) for (i in seq(1, iterations)) {

print(i)

start_time = Sys.time()

result[i] = max_likelyhood_alt(cox_data, 1, 11, 0.1, sample.int(length(cox_data[,1]), replace = TRUE)) print(Sys.time() - start_time)

print(result[i]) }

result =sort(result) return(result) }

bootstrap_imp = function(cox_data, iterations){

result = seq(1, iterations) for (i in seq(1, iterations)) {

print(paste("Iteration: ", i, sep = "")) start_time = Sys.time()

result[i] = max_likelyhood_imp(cox_data, 1, 7.5, 0.05, sample.int(length(cox_data[,1]), replace = TRUE))

(19)

print(Sys.time() - start_time) print(result[i])

}

result = sort(result) return(result)

}

bootstrap_imp_test = function(cox_data, iterations){

return(sapply(rep(0, iterations), function(i) max_likelyhood_imp(cox_data, 1, 7.5, 0.05, sample.int(length(cox_data[,1]), replace = TRUE))))

}

d_analysis = bootstrap(D, 1000)

d_analysis = readRDS("d_analysis.RDS") d_ci95 = c(d_analysis[26], d_analysis[975])

d_hist = hist(d_analysis, breaks = seq(0.9,6.9,0.2), main = "", xlab =

"Alfa-beta kvot", ylab = "Antal")

saveRDS(d_analysis, file = "d_analysis.RDS") saveRDS(d_ci95, file = "d_ci95.RDS")

saveRDS(d_hist, file = "d_hist.RDS")

ltrunc_analysis = bootstrap_alt(ltrunc_data, 1000)

#ltrunc_analysis = readRDS("ltrunc_analysis.RDS")

ltrunc_ci95 = c(ltrunc_analysis[26], ltrunc_analysis[975])

ltrunc_hist = hist(ltrunc_analysis, breaks = seq(0.9,8.1,0.2), main = "", xlab = "Alfa-beta kvot", ylab = "Antal")

saveRDS(ltrunc_analysis, file = "ltrunc_analysis.RDS") saveRDS(ltrunc_ci95, file = "ltrunc_ci95.RDS")

saveRDS(ltrunc_hist, file = "ltrunc_hist.RDS") nobrac_analysis = bootstrap_alt(nobrac_data, 1000)

nobrac_ci95 = c(nobrac_analysis[26], nobrac_analysis[975])

nobrac_hist = hist(nobrac_analysis, breaks = seq(0.9,11.1,0.2), main = "", xlab = "Alfa-beta kvot", ylab = "Antal")

saveRDS(nobrac_analysis, file = "nobrac_analysis.RDS") saveRDS(nobrac_ci95, file = "nobrac_ci95.RDS")

saveRDS(nobrac_hist, file = "nobrac_hist.RDS") max_likelyhood(D,1,7,0.01,1:19843) #4

max_likelyhood_alt(ltrunc_data,1,7,0.01,1:19093) #4.52 max_likelyhood_alt(nobrac_data,3,9,0.01,1:13329) #4.11 test_imp = data.frame(rep(0, 20), rep(0, 20))

names(test_imp) = c("Mean", "Var") for (i in 1:20) {

(20)

print(paste("Loop: ", i, sep = ""))

test_imp[i,] = t(bootstrap_imp(get(paste("IMP", i, sep = "")), 50)) }

imp_analysis = rep(0, 1000) for (i in 1:20) {

print(paste("Loop: ", i, sep = "")) start_time = Sys.time()

imp_analysis[(1+50*(i-1)):(i*50)] = bootstrap_imp(get(paste("IMP", i, sep = "")), 50) print(Sys.time() - start_time)

}

imp_analysis = test_imp_ci

imp_hist = hist(test_imp_ci, breaks = seq(0.9,7.1,0.2), main = "", xlab = "Alfa-beta kvot", ylab = "Antal")

imp_ci95 = sort(imp_analysis)[c(25,976)]

saveRDS(imp_analysis, file = "imp_analysis.RDS") saveRDS(imp_ci95, file = "imp_ci95.RDS")

saveRDS(imp_hist, file = "imp_hist.RDS")

References

Related documents

V˚ ara *-or st˚ ar allts˚ a f¨or de valda elementen och vilka streck de st˚ ar emellan st˚ ar f¨or vilket element det ¨ar

Till exempel fick jag inte med n˚ agot Ljus- och Optikland i f¨ orsta f¨ ors¨ oket, och pilen mot Kosmologi, som ligger utanf¨ or den h¨ ar kartan, borde peka mer upp˚ at,

[r]

Resonemang, inf¨ orda beteck- ningar och utr¨ akningar f˚ ar inte vara s˚ a knapph¨ andigt presenterade att de blir sv˚ ara att f¨ olja.. ¨ Aven endast delvis l¨ osta problem kan

Resonemang, inf¨ orda beteck- ningar och utr¨ akningar f˚ ar inte vara s˚ a knapph¨ andigt presenterade att de blir sv˚ ara att f¨ olja.. ¨ Aven endast delvis l¨ osta problem kan

Antalet kunder som bes¨ oker de tv˚ a aff¨ arerna en timme kan beskrivas med Poissonf¨ ordelningar.. Det genomsnittliga antalet kunder som bes¨ oker de tv˚ a aff¨ arerna ¨ ar

Vid bed¨ omningen av l¨ osningarna av uppgifterna i del 2 l¨ aggs stor vikt vid hur l¨ osningarna ¨ ar motiverade och redovisade. T¨ ank p˚ a att noga redovisa inf¨ orda

I en simbass¨ang finns ett halvcirkelformat f¨onster D med radie R och vars medelpunkt befinner sig p˚a djupet h, d¨ar h &gt; R, en-