利益のモデリング
前の演習では、トウモロコシの生産モデルを作成しました。小規模農家では、通常トウモロコシの価格や需要を自分でコントロールすることはできません。ここでは、価格が平均40、標準偏差10の正規分布に従うとします。価格を受け取り、トウモロコシの需要を決める関数 corn_demanded() が与えられています。これは妥当です。というのも、需要はたいてい市場で決まり、あなたのコントロール外だからです。
この演習では、これまでにシミュレートした変数をまとめて、利益を計算する関数を作成します。この関数の入力は生産の固定コストのみです。完了すると、与えられたコストに対して1回分のシミュレーションによる利益を返す関数が得られます。この関数は、その後のコスト計画に活用できます。
この演習はコースの一部です
Pythonで学ぶ統計シミュレーション
演習の手順
priceを平均40、標準偏差10の正規乱数としてモデル化します。- 前の演習で作成した関数
corn_produced(rain, cost)を呼び出して、トウモロコシのsupply(供給量)を取得します。 corn_demanded()にpriceを渡して呼び出し、demand(需要量)を取得します。- Profit \(=\) quantity \(\times\) price \(-\) cost. もし生産量が需要量を上回る場合(
supply > demand)、販売数量はdemand、そうでなければsupplyになります。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Function to calculate profits
def profits(cost):
rain = np.random.normal(50, 15)
price = np.random.____
supply = ____
demand = ____
equil_short = supply <= demand
if equil_short == True:
tmp = ____*price - cost
return tmp
else:
tmp2 = ____*price - cost
return tmp2
result = profits(cost)
print("Simulated profit = {}".format(result))