Sto cercando di riassumere un numero arbitrario di distribuzioni probabilistiche di cose usando una simulazione di tipo montecarlo. Mi piacerebbe campionare casualmente distribuzioni continue di qualcosa e aggiungerle ad altri campioni casuali di altre distribuzioni continue, ottenendo in ultima analisi una distribuzione di probabilità per la loro combinazione. Le distribuzioni stesse sono empiriche - non sono una funzione ma nella forma di P99 = 2.4, P90 = 7.12, P50 = 24.53, P10 = 82.14 e così via (in realtà ci sono un sacco di quei punti). Le distribuzioni sono più o meno lognormali, quindi avvicinarle come lognormali probabilmente andrebbe bene, se necessario. Ma come potrei inserirlo in SciPy's lognorm function? O lo fai in un altro modo in SciPy o in Python in generale?Creare una distribuzione di probabilità personalizzata per prelevare campioni casuali da SciPy
Spero sia chiaro cosa sto cercando di fare. Grazie mille, Alex
Hmm beh, mi aspetto che siano vicini a lognormal, sai come farei adattare i dati a quello? Sono rimasto confuso da come rendere la distribuzione lognormale adatta a due punti dati in [la pagina di descrizione] (http://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.lognorm.html#scipy .stats.lognorm). Se avessi un P90 che era X e un P10 che era Y, come potrei fare una distribuzione lognormale che si adatti ai due? –
Non sono sicuro di questa cosa a due punte di cui stai parlando. Quello che farei, prima controllerei se la distribuzione in realtà * è * log-normale. Per questo, vorrei usare il fatto che per una distribuzione normale i momenti dovrebbero essere collegati in un modo molto preciso (cf wikipedia o mathworld o altrove), e che se 'X' è log-normale, allora' log X' è normalmente distribuito: basta calcolare diversi primi momenti del 'log X'. –
Ok, ma non è necessario caricarlo nell'oggetto scipy in modo che sia possibile ottenere campioni casuali utilizzando 'R = lognorm.rvs (s, size = 100)' come menzionato nella pagina della funzione lognorm sopra? –