|
(このページは該当講座受講登録者向けの情報です)
ビジネスシミュレーション特講
ビジネスシミュレーション 1回目
1.ファイルのダウンロード
下記のダウンロードファイルを右クリックして、対象をファイルに保存を選択し、マイドキュメントに保存する
結果評価ファイル(main1.xls)
2.データの入力
2-1. main1.xlsを開き、「A社」「B社」「C社」「D社」シートの左上、意思決定値入力欄に下記を入力する。
ヒント:1期目のマーケットサイズ 安いノートPCの需要数 800台(3ヶ月単位)
意 思 決 定 値
予想順位 (1から4までの順位を入力)
受注予想数量 (マーケットサイズを4社で割った数だと200台になる)
仕入数量 (仕入数が足りなければ売り切れになり、利益が減る。多ければ在庫に残る)
販売価格 (今回は仕入価格が5万円)
広告費 今回はこの項目は4000000固定として下さい
右側の損益計算書という項目の当期純利益を確認
貸借対照表の借入金の項目を確認
2-1.上記1期の意思決定を決定して「意思決定記録表(練習用)」シートに入力する。
2-3.main.xlsを開き、「A社」「B社」「C社」「D社」シートに値(上記の)を入力する。
2-4.2期の意思決定を入力
2期の意思決定を行ってシートへ入力する。
2-5.経営結果の確認と考察
各社の結果をmain1.xlsを開き、「A社」「B社」「C社」「D社」シートに値(上記の)を入力する
2-6.取締役会の実施と経営結果の確認
main1.xlsの計画実績比較表を見る。
損益計算書が赤字になった場合は、何故赤字になったのかを考察する。
また黒字が得られたとしても、販売数量が予定よりも少ない場合は、何故予想が外れたのかを考察する。
企業別業績表シートで、各企業を比較して、どうしてそのような差が生じたのかを考察する。
意思決定パターン図表シートと、経営業績パターン図表で、自分達の行った経営パターンを確認する。
意思決定パターン図表の説明
積極販売型:販売価格と広告費が積極的なパターン
価格重視型:広告費は抑えて、販売価格のみで勝負するパターン
広告重視型:販売価格は消極的で、広告費のみで勝負するパターン
消極販売型:問題があり、改善が必要なパターン
経営業績パターン図表の説明
業界リード型:マーケットシェアと当期純利益の双方が高いパターン
薄利多売型: マーケットシェアは高いが、当期純利益が低いパターン
堅実合理型: マーケットシェアは低いが、当期純利益が高いパターン
改善期待型: 問題があり、改善が必要なパターン
2-7.経営分析
上記の分析を行い、取締役会で話し合った統一見解を、メモしておき、下記の次回の課題で記載する。
2-8.各期の経営実施
4-4へ戻って、次期の意志決定を行う。
2-9.期末の取締役会実施と期末経営結果の確認
4期を終えたら、下記の各期別のデータを確認して経営分析を行う。
期別業績表:main1.xlsの期別業績表シート
意思決定結果グラフ(期別): main1.xlsの意思決定結果グラフシート
意思決定結果グラフ(企業別):main1.xlsの意思決定結果グラフシート
業績結果グラフ(期別): main1.xlsの期別業績結果グラフシート
業績結果グラフ(企業別): main1.xlsの期別業績結果グラフシート
累積純利益が一番高くなった企業が勝者となる。
補足
販売価格の設定方法
固定費として各期毎に
給与+家賃=3,300,000 が必要となる。
販売価格×販売個数−仕入価格×仕入個数−固定費−販売費(広告費)>0
在庫が残らないと仮定して、簡略化すると
(販売価格−仕入価格)×個数−固定費−販売費(広告費)>0
具体的には次の式が成り立つような販売価格を設定する
(販売価格−50,000)×受注予想数量−3,300,000-4,000,000>0
ビジネスシミュレーション 応用編
今回は広告による売り上げの増減がある場合であり、他の条件も異なる。
また前回よりも仕入値が高くなり、マーケットサイズが今回は不明となっているが、1期目は前回の800を想定し始めて下さい。
注意:前回とは仕入原価も異なるので、配布資料(グループ用)を見て考えること
進め方や作業の流れ自体は、これまでのの作業手順と同様である。
エクセルファイルのみ、下記のダウンロードファイルを右クリックして、 対象をファイルに保存を選択し、マイドキュメントに保存し直して下さい。
結果評価ファイル(main_ver2.xls)
販売価格の設定方法
販売価格×販売個数−仕入価格×仕入個数−固定費−販売費(広告費)>0
在庫が残らないと仮定して、簡略化すると
(販売価格−仕入価格)×個数−固定費−販売費(広告費)>0
-------広告費の費用対効果の評価式の例---------------
その1 (最も広告費が高額な会社の販売数量−最も広告費が廉価な会社の販売数量)
÷(最も高額な会社の広告費−最も廉価な会社の広告費)
その2 (最も広告費が高額な会社の当期純利益−最も広告費が廉価な会社の当期純利益)
÷(最も高額な会社の広告費−最も廉価な会社の広告費)
(実際は、人気店では、商品在庫が無くなって売れるのに売れない事が起きる。
ケースバイケースで簡単には行かないが、単純に上記でも十分評価は可能)
-------価格戦略の費用対効果の評価式の例-------------
その1 (最も価格が安い会社の販売数量−最も価格が高い会社の販売数量)
÷(最も価格の安い会社の販売費−最も価格の高い会社の販売費)
その2 (最も価格が安い会社の当期純利益−最も価格が高い会社の当期純利益)
÷(最も価格の安い会社の販売価格−最も価格の高い会社の販売価格)
(実際は、人気店では、商品在庫が無くなって売れるのに売れない事が起きる。
ケースバイケースで簡単には行かないが、単純に上記でも十分評価は可能)
AIプログラミング(参考図書:はじめての人工知能)
パーセプトロンによる文字認識
ホップフィールドネットワークによる文字認識
AIプログラミング(参考図書:はじめての人工知能)
パーセプトロンによる文字認識
ホップフィールドネットワークによる文字認識
日本大学生産工学部 人工知能RG: AIプログラミング資料
Google Colaboratory Python実行環境
#Pythonの簡易プログラム(#以降はコメント)
a = 1; b = 10; c = a + b
print (c);
print ("こんにちは");
#Pythonによる単純回帰分析
import itertools #効率的なループ処理のためのイテレータ関数を使えるようにする
import numpy as np #数学関数や数値計算を行うライブラリ
import pandas as pd #データ解析を支援するライブラリ 機械学習などで必須
import matplotlib.pyplot as plt #matplotlibは Pythonでグラフを作るライブラリ
import seaborn as sns #seabornは matplotlibをさらに見栄えよくするライブラリ
from sklearn import linear_model #sklearnは Pythonの代表的な機械学習のライブラリ
from sklearn import datasets #サンプルデータを使うためのライブラリ
sns.set() #seabornをセットして見栄えの良いグラフにする処理
wine_data = datasets.load_wine() #データ(セット)を読み込む
wine = pd.DataFrame(wine_data.data, columns=wine_data.feature_names) # 読み込んだデータ(セット)を解析用のpandasライブラリにセットする
clf = linear_model.LinearRegression() #単純回帰分析のためのライブラリを準備する
wine.head()
X = wine.loc[:, ['total_phenols']].values # 説明変数に ポリフェノール量 を利用
Y = wine['flavanoids'].values # 目的変数に 色素量 を利用
clf.fit(X,Y) #単純回帰分析を実行する
print("回帰係数=", clf.coef_) #回帰係数を表示する
print("切片:",clf.intercept_) #回帰直線の切片を表示する
print("決定係数R^2=",clf.score(X, Y)) #決定係数
plt.xlabel('total_phenols')
plt.ylabel('flavanoids')
plt.scatter(X, Y) #散布図を描画
plt.plot(X, clf.predict(X)) #回帰直線を描画
#課題 これを基に説明変数に alcohol、目的変数に flavanoids色素量 を利用して回帰分析をしなさい
アヤメの分類 versicolorブルーフラッグ、virginicaバージニカ、setosaヒオウギアヤメ
(出典: そうだ!研究しよう https://kenyu-life.com/2019/05/14/iris/)
#アヤメのSVMによる機械学習による分類
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
from sklearn.datasets import load_iris
iris = load_iris()
#データフレームにしておくと、データを扱いやすくなる
df = pd.DataFrame(iris.data, columns=iris.feature_names)
df['target'] = iris.target
#データ説明 0(=setosa), 1(=versicolor), 2(=virginica)
df.loc[df['target'] == 0, 'target'] = "setosa"
df.loc[df['target'] == 1, 'target'] = "versicolor"
df.loc[df['target'] == 2, 'target'] = "virginica"
sns.pairplot(df, hue="target")
# データを定義
x = iris.data[:, [0, 2]]
y = iris.target
# グラフに関する処理
width = .05 # step size in the mesh
x_min, x_max = x[:, 0].min() - .5, x[:, 0].max() + .5
y_min, y_max = x[:, 1].min() - .5, x[:, 1].max() + .5
xx, yy = np.meshgrid(np.arange(x_min, x_max, width), np.arange(y_min, y_max, width))
# 決定境界を図にして可視化する処理
def decision_boundary(clf, x, y, ax, title):
clf.fit(x, y)
Z = clf.predict(np.c_[xx.ravel(), yy.ravel()])
Z = Z.reshape(xx.shape)
ax.pcolormesh(xx, yy, Z, cmap=plt.cm.Paired)
ax.scatter(x[:, 0], x[:, 1], c=y, edgecolors='k', cmap=plt.cm.Paired)
# label
ax.set_title(title)
ax.set_xlabel('sepal length')
ax.set_ylabel('petal length')
#線形サポートベクタマシンLinearSVCを使った分類処理
from sklearn.svm import LinearSVC
fig, axes = plt.subplots(1, 3, figsize=(10, 3))
#C は正則化の度合いを調整するパラメータ Cが小さいと大雑把な近似、Cが大きいと詳細に近似するが過学習になる
for ax, C in zip(axes, [0.01, 1, 100]):
title = "C=%s"% (C)
clf = LinearSVC(C=C)
decision_boundary(clf, x, y, ax, title)
#--------------------------ここまで----------------------------------
#ニューラルネットワークを用いた分類処理(上記の緑色の部分を置き換える)
from sklearn.neural_network import MLPClassifier
fig, axes = plt.subplots(1, 4, figsize=(12, 3))
for ax, n in zip(axes, [15, 15, 15, 15]):
title = ""
clf = MLPClassifier(hidden_layer_sizes=[n, n])
decision_boundary(clf, x, y, ax, title)
#サポートベクタマシンSVMによる文字認識
from sklearn.model_selection import train_test_split
from sklearn import datasets,svm,metrics
from sklearn.metrics import accuracy_score
digits = datasets.load_digits()
print(digits.data)
x = digits.images
y = digits.target
#二次元配列を一次元配列に変換8bit×8bit(8行×8列)を64個のデータに並べなおす
x = x.reshape((-1,64))
# 画像データセットの最初から10つ[:10]を取り出して評価する
import matplotlib.pyplot as plt
images_and_labels = list(zip(digits.images, digits.target))
for index, (image, label) in enumerate(images_and_labels[:10]):
plt.subplot(2, 5, index + 1)#画像を複数の領域(2行×5列)に分ける、最後のindex+1は画像を描画する場所(何番目か)を指定している
plt.imshow(image, cmap=plt.cm.gray_r, interpolation='nearest')
plt.axis('off')
plt.title('Training: %i' % label)
plt.show()
# 元のデータを学習用データと、後で検証するためのテスト用データに分割する
x_train,x_test,y_train,y_test = train_test_split(x,y,test_size=0.2)
# 教師データを元にAIに機械学習を行う
clf = svm.LinearSVC()
clf.fit(x_train, y_train)
# AIに予測させて、全体で何%正解したのかを表示
y_pred = clf.predict(x_test)
print('正解率:')
print(accuracy_score(y_test, y_pred))
print('特定の文字列を認識')#画像データセットの最後から2つ[-2:]を取り出して評価する
for index, (image, label) in enumerate(images_and_labels[-2:]):
plt.subplot(2, 2, index + 1)#画像を複数の領域(2行×2列)に分ける、最後のindex+1は画像を描画する場所(何番目か)を指定している
plt.imshow(image, cmap=plt.cm.gray_r, interpolation='nearest')
plt.axis('off')
plt.title('Training: %i' % label)
plt.show()
clf.fit(digits.data[-2:], digits.target[-2:])
y_pred1 = clf.predict(digits.data[-2:])
print('予測した数字:')
print(y_pred1)
その他
数値シミュレーションエクセルファイル
数値シミュレーションJavaファイル
数値シミュレーション2次元解析Javaファイル
|