8 研究デザインと出版用テーブル

𠮷田政之

近畿大学経営学部

2026/05/21

1 代理変数

  1. 代理変数

  2. Publication Ready Table

  3. 記述統計量

1.1 代理変数

  • xとyの関係性について検証したいとする
  • y = α + βx + ε を推定する
  • この時の問いは「xが高いほどyは高いのか」とかになる

「問いで出てくるx」と「数式で出てくる(データで使える)x」は同じなのか???

分析で使いたい概念が直接データとして存在しない場合がある。たとえば「経営者の能力」や「ブランド力」は数字で測れない。そこで、その概念と相関が高い別の変数(代理変数)を代わりに使う。

測りたい概念 代理変数の例
経営能力 ROA
企業業績 ROA
企業規模 総資産
成長性 売上高の前年比

代理変数はあくまで「近似」なので、その限界を意識しながら使うことが重要。

1.1.1 ex. 「昔の夏より最近の夏は暑い」

↑ これを調べたいとする

「夏は暑い」をどう表現する?

  • 夏とは?
    • 8月?
    • 6-8月?
  • 暑いとは?
    • 最高気温
    • 平均気温
    • 最低気温

1.1.2 経営学にありそうな問いの例

「環境経営に積極的な企業は企業業績が高いのか」

  • 環境経営に積極的って?
  • 企業業績って?
    • 会計ではROAを使うことが一般的

「在宅勤務制度を導入している企業は従業員の生産性が高いのか」

  • 制度の導入って?
    • 導入していても、週に1日までかもしれないし7日までいいかもしれない
    • 全従業員対象かもしれないし、一部の従業員だけかもしれない

1.2 リビーボックス

  • 問いとして立てる概念と実際に取得できるデータは異なる
    • → 代理変数
    • 問いをデータに合わせる必要はない
    • 「私は概念Xをデータで表現できるxとしました」

リビーボックスとは、以下の4つの箱を並べたフレームワーク:

[概念 X]      →      [概念 Y]
    ↑                   ↑
[代理変数 x]    →    [代理変数 y]

リビーボックス

リビーボックス
  • 4つの箱を使って概念と代理変数を整理する
  • 代理変数が概念を妥当に代理できているのか視覚的にわかりやすい
  • データの関係性だけ取り出した時に関係性が変になっていないかとかも考えられる

1.2.1 経営学にありそうな例

取り組みと業績の関係のリビーボックス

取り組みと業績の関係のリビーボックス
  • それぞれの代理変数としての妥当性を考えつつ
    • スコアとROAは同じ年で良いのか、1年後か、もっと後か
    • みたいにデータだけの関係性で考えることができる

1.2.2 よくある代理変数:ダミー変数

ダミー変数を代理変数とするリビーボックス

ダミー変数を代理変数とするリビーボックス

Important

「制度を導入していれば1、していなければ0」のように1, 0の値だけを取る変数をダミー変数という

1.2.3 夏は暑い、再び

最近の夏は暑いのリビーボックス

最近の夏は暑いのリビーボックス

代理変数は一つでなくて良い

1.2.4 たくさん代理変数が思いつくとき

【頑健性】

  • どの代理変数も適切だと考えられることもある
  • 唯一絶対の変数はない
  • 全て試し、どれも同じ結果なら強く主張できる
  • 自分も自信を持てる

【探索的】

  • どれが正しそうか知りたい

【ハッキング】

  • 数字に踊らされる

1.2.5 代理変数とリビーボックスまとめ

  • いい代理変数が見つからないといって諦めなくても良い
    • ex. 制度の導入の程度まで区別したい、でもできない…みたいな
    • → 1, 0のダミー変数で十分
  • やらないよりましな状態を目指す
    • やった方が悪ならやらない
  • やることでみんなの議論の土壌になる
    • 完璧にできないからと諦めてなにもせずにいたら、みんな勘とか経験で考えないといけなくなる

2 Publication Ready Table

  1. 代理変数

  2. Publication Ready Table

  3. 記述統計量

2.1 Publication Ready Table(stargazer)

学術論文では複数のモデルを横に並べた係数表を掲載するのが慣習。モデル(1)は基本モデル、モデル(2)以降でコントロール変数を追加するという構成が多い。

出版用表の例

出版用表の例

2.2 pythonでの実装

stargazer を使うと、複数モデルを自動で整形した表を生成できる。

!pip install stargazer
import pandas as pd
import statsmodels.formula.api as smf
from stargazer.stargazer import Stargazer
import IPython

2.3 データを準備する

df = pd.read_csv(
    "drive/MyDrive/自分で作ったフォルダの名前/data.csv",
    encoding="cp932"
)
md1 = smf.ols("売上原価 ~ 棚卸資産", data=df).fit()
md2 = smf.ols("売上原価 ~ 棚卸資産 + 売上高", data=df).fit()

stargazer = Stargazer([md1, md2])
stargazer.show_confidence_intervals(True)
IPython.display.HTML(stargazer.render_html())
Dependent variable: 売上原価
(1)(2)
Intercept144796.534***4166.303
(80849.154 , 208743.915)(-14814.696 , 23147.303)
売上高0.752***
(0.675 , 0.830)
棚卸資産3.374***-0.211
(2.716 , 4.031)(-0.601 , 0.180)
Observations1818
R20.8810.996
Adjusted R20.8730.995
Residual Std. Error83416.861 (df=16)15875.639 (df=15)
F Statistic118.290*** (df=1; 16)1846.289*** (df=2; 15)
Note:*p<0.1; **p<0.05; ***p<0.01

卒論では、このアウトプットをwordとかexcelに貼り付けるだけで8割型完成する。

値を手打ちするよりミスが少ない!!

wordに貼り付けたときの例

wordに貼り付けたときの例

excelに貼り付けたときの例

excelに貼り付けたときの例

3 記述統計量

  1. 代理変数

  2. Publication Ready Table

  3. 記述統計量

3.1 記述統計量

記述統計量とは、データの各変数の平均値とか分散とかの基本的な情報のこと。

これらの情報は論文に記載する。記述統計量を見て、データ自体がおかしくないことを確認したり、読み手に確認してもらったりする。

分析に使った変数だけを選択して、describe()する。

手持ちの変数すべてを表示する必要はない

同じようにwordやexcelに貼り付ければ、卒論に使える表が8割型完成する。

(
    df[["売上原価", "棚卸資産", "売上高"]]
    .describe()
    .T
)
count mean std min 25% 50% 75% max
売上原価 18.0 393611.500000 234450.912582 37999.0 236871.75 386746.0 484090.5 1135758.0
棚卸資産 18.0 73750.277778 65221.587318 9580.0 40434.50 59054.5 82875.0 297357.0
売上高 18.0 538332.000000 328252.114983 64291.0 299029.50 529944.5 677658.5 1573873.0