- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试在我的 Python 代码中实现蒙特卡罗模拟,这将帮助我确定我们实现与收入目标相关的各种阈值的几率。例如,我们每个财年达到 6,000 美元、7,000 美元或 8,000 美元的可能性有多大。我能够计算预期值,但还没有编写模拟代码。我尝试创建一个运行 1000 次模拟的函数,但未能实现(这要归功于我的新手编码能力)。理想情况下,我能够返回总数和每个合约的平均值和标准差,可用于将它们绘制在正态曲线上。
import pandas as pd
ID = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
Revenue = [1000, 1200, 1300, 100 ,500, 0, 800, 950, 4321, 800, 1000, 1200, 1300, 100 ,500, 0, 800, 950, 4321, 800]
odds = [0.5, 0.6, 0.33, 0.1, 0.9, 0.87, 0.37, 0.55, 0.97, 0.09, 0.5, 0.6, 0.33, 0.1, 0.9, 0.87, 0.37, 0.55, 0.97, 0.09]
FY = [2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019]
d = {'ID': ID, 'Revenue': Revenue, 'Odds': odds, 'Fiscal Year': FY}
df = pd.DataFrame(d)
df['Expected Value'] = df['Revenue']*df['Odds']
print(df)
这是我一直在编写的一小段代码,但我一路上迷失了。
import pandas_montecarlo
mc = OtisPrediction_df['Realization Rate'].montecarlo(sims = 100)
mc.plot()
print(mc.stats)
或者
def win_loss_func(iterator):
odds = random.randint(1,100)/100
X = []
Y = []
i = 1
while i <= iterator:
if df['Odds'] >= odds:
i+=1
X.append(i)
Y.append(OtisPrediction_df[''])
print(odds)
我需要能够为每个会计年度的每个 ID 运行蒙特卡罗。有没有办法做到这一点?我创建了一个函数,将为每个条目创建一个数组,但我仍然需要根据 ID 和 Filter 字段进行过滤,以使用 10,000 个模拟填充每个数组。 def monte_carlo_array(df):
for _ in range(len(df)):
yield []
最佳答案
此解决方案效率不高,因为没有并行执行任何操作,但您可以清楚地看到模拟是如何执行的。
num_samples = 10000
revenue_2018 = []
revenue_2019 = []
filter_2018 = (df['Fiscal Year'] == 2018)
filter_2019 = (df['Fiscal Year'] == 2019)
for _ in range(num_samples):
sample = df['Revenue'] * ( np.random.rand(20) < df['Odds'] )
revenue_2018.append(sample.loc[filter_2018].sum())
revenue_2019.append(sample.loc[filter_2019].sum())
# Plot simulation results.
n_bins = 10
plt.hist([revenue_2018, revenue_2019], bins=n_bins, label=["Revenue 2018", "Revenue 2019"])
plt.legend()
plt.title("{} simulations of yearly revenue".format(num_samples))
# Print statistics.
print("Mean for 2018 is {}. Standard Deviation is {}".format(np.mean(revenue_2018), np.std(revenue_2018)))
print("Mean for 2019 is {}. Standard Deviation is {}".format(np.mean(revenue_2019), np.std(revenue_2019)))
关于python - 在 Python 中利用蒙特卡洛预测收入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52173863/
我应该在一些蒙特卡洛模拟中计算标准偏差函数。公式是这样的: 我认为我的结果与应有的结果相去甚远。我的函数使用来自 boost 库的元组,它看起来像这样: double add_square(doubl
我需要使用 R 代码执行股票价格模拟。问题是代码有点慢。基本上我需要模拟每个时间步长(每天)的股票价格并将其存储在矩阵中。 假设股票过程是几何布朗运动的例子 for(j in 1:100000){
如何在卷积神经网络中使用 Keras 实现 Monte Carlo dropout 以估计 YARIN GAL 建议的预测不确定性?我正在使用 R。R-Code is here 我正在小批量地拟合模型
我是一名优秀的程序员,十分优秀!