main

2022/02/09

beta-PERT Monte Carlo Simulation

 Here, we are running Beta-PERT Monte Carlo simulation.


from scipy import stats as stats

from scipy.stats import beta as beta

from scipy.stats import rv_continuous


import matplotlib.pylab as plt


class Beta_PERT(rv_continuous):

    def _shape(self, minimum, mode, maximum, lamb):

        alpha = 1+lamb*(mode-minimum)/(maximum-minimum)

        beta = 1+lamb*(maximum-mode)/(maximum-minimum)

        return [alpha,beta]

    

    def _cdf(self,x, minimum, mode, maximum, lamb):

        s_alpha, s_beta = self._shape(minimum, mode, maximum, lamb)

        z = (x-minimum)/(maximum-minimum)

        cdf = beta.cdf(z,s_alpha,s_beta)

        return cdf

    

pert = Beta_PERT(name="pert")


rv_1 = pert(0.02,0.05,0.2,4)

rv_2 = pert(1,5,20,4)


N = 5000


freq = rv_1.rvs(N)

loss = rv_2.rvs(N)


ALE = freq*loss





No comments:

Post a Comment

How to Supercharge Your Python Classes with Class Methods

  How to Supercharge Your Python Classes with Class Methods | by Siavash Yasini | May, 2024 | Towards Data Science As we just mentioned, a c...