2016-11-28 5 views
0

私は訓練目的のために偽のデータセットを作成しようとしており、特定の確率分布に一致する日付のベクトルを作成する関数を望みます。特定の範囲の日付が別の日付よりも長く表示されます。確率分布に従う日付のベクトルを作成する

私はこれを行うことができ、日付の範囲を選択することを知っている:

dchisq(x=1:500,df = 100)またはrlnorm(500,1,.6)

seq(as.Date("1940-12-30"), as.Date("2005-01-04"), by="days")

を人口に割り当てる、私はこれを行うことができます

しかし、私はseq()を上記の特定の確率分布から引き出す方法については空白を描いています。だから、パターンに従って日付を描くにはどうしたらいいですか?

答えて

1

日付ごとにどのような確率が必要なのかを説明できる場合は、サンプルでこれを行うことができます。ここでは、2005年から、年中央を中心としたガウス分布を使ってサンプルを取る例を示します。

Y05 = seq(as.Date("2005-01-01"), as.Date("2005-12-31"), by="days") 
    Prob = dnorm((1:365)*4/365 - 2) 
    sample(Y05, 10, replace=TRUE, prob=Prob) 
+1

注目すべき点: 'sample()'の確率重みは、1に追加する必要はありませんが、> 0でなければなりません –

1

この問題を回避する最も簡単な方法は、問題を日付サンプリングの問題ではなく、一般的なサンプリングの問題と考えることです。たとえば、ある一定の日付と目標の日付の間でオフセットを選択する問題があると考えると、問題を重み付けされた整数サンプリングの問題に変換しました。その問題を解決する方法はすでに分かっています。

関連する問題