Ho un set di> 2000 numeri, raccolti dalla misurazione. Voglio campionare da questo set di dati, ~ 10 volte in ciascun test, preservando la distribuzione della probabilità complessiva e in ciascun test (in misura approssimativa possibile). Ad esempio, in ogni test, voglio un piccolo valore, un valore di classe media, un certo valore grande, con la media e la varianza approssimativamente vicino alla distribuzione originale. Combinando tutti i test, voglio anche la media e la varianza totale di tutti i campioni, approssimativamente vicino alla distribuzione originale.Campionamento casuale da un set di dati, preservando la distribuzione di probabilità originale
Come il mio set di dati è un long-tail probability distribution, la quantità di dati per ogni quantile non sono gli stessi: plot
Fig 1. Densità ~ 2k elementi di dati.
Sto usando Java, e in questo momento sto usando un uniform distribution, e utilizzare un int a caso dal set di dati, e restituire il dato in quella posizione:
public int getRandomData() {
int data[] ={1231,414,222,4211,,41,203,123,432,...};
length=data.length;
Random r=new Random();
int randomInt = r.nextInt(length);
return data[randomInt];
}
Non so se funziona come voglio, perché uso i dati per misurarli, il che ha una grande quantità di correlazione seriale.
Mi hai fatto riempire meglio. :-) Ma come posso dimostrarlo? E sono ancora preoccupato per il fatto che non ottengo abbastanza valori piccoli e grandi in ogni test. – Ho1
@ Ho1 le medie e la deviazione standard non vengono modificate dall'ordine. Se si desidera la stessa distribuzione è necessario ordinare i valori e selezionare casualmente porzioni diverse dei campioni, Ovviamente ciò non è del tutto casuale poiché si vincolano i risultati desiderati. –
@PeterLawrey: Quello che dici è FALSO. –