から、私はQSOの形で一定の明るさのランダムな確率密度関数を生成しようとしています:カスタムPDF scipy.stats.rv_continuous不要な上限
1 /((L/L_B^*)^アルファ(L/L_B^*)^β)
ここで、L_B^*、alpha、およびbetaはすべて定数です。これを行うには、次のコードが使用されます。
import scipy.stats as st
logLbreak = 43.88
alpha = 3.4
beta = 1.6
class my_pdf(st.rv_continuous):
def _pdf(self,l_L):
#"l_L" in this is always log L
L = 10**(l_L/logLbreak)
D = 1/(L**alpha + L**beta)
return D
dist_Log_L = my_pdf(momtype = 0, a = 0,name='l_L_dist')
distro = dist_Log_L.rvs(size = 10000)
(L/Lすべてが対数スケールで行われているので、^ * 10のパワーにrasedれる)
分布を生成することになっていますthisに近づき、無限遠まで下がるグラフですが、実際にはグラフはthis(10,000サンプル)のようになります。上限は、使用されるサンプルの量に関係なく同じです。制限されている理由はありますか?
はどうもありがとうございました!私が使用している定数が間違っていることは間違いないので、実際にそれらを正しく実装すれば真のpdfになると思います。 –