コストの最適化
これまでに作成した関数を使って、生産コストの最適化を行います。ここでの目的は平均利益の最大化です。ただし、利益は複数の要因に依存し、私たちが操作できるのはコストだけです。そこで、他の要因の不確実性をシミュレーションし、コストを変化させて利益への影響を確認します。
あなたは小規模なトウモロコシ農場を管理しており、コストを $100 から $5,000 の範囲で選べます。平均利益が最大になるコストを選びたいと考えています。この演習では、各コスト水準ごとに複数の結果をシミュレーションし、その平均を計算します。そして、平均利益が最大となるコストを選びます。完了後は、ビジネス上の意思決定で最適な入力値を選ぶためのフレームワークが手に入ります。
この演習はコースの一部です
Pythonで学ぶ統計シミュレーション
演習の手順
- 空の辞書
resultsを初期化します。 - 各コスト水準について、事前に読み込まれている
profits()関数で利益をシミュレーションし、tmp_profitsに追加します。 - 各コスト水準の
tmp_profitsの平均をresults辞書に保存します。 - リスト内包表記で
resultsを処理し、平均利益が最大となるコスト水準cost_maxを見つけます。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Initialize results and cost_levels variables
sims, results = 1000, ____
cost_levels = np.arange(100, 5100, 100)
# For each cost level, simulate profits and store mean profit
for cost in cost_levels:
tmp_profits = []
for i in range(sims):
tmp_profits.append(____)
results[cost] = np.mean(____)
# Get the cost that maximizes average profit
cost_max = [x for x in ____.keys() if ____[x] == max(____.values())][0]
print("Average profit is maximized when cost = {}".format(cost_max))