StatsBeginner: 初学者の統計学習ノート

文系出身で工学部(工学研究科)の教員をしてます。

95%信頼区間は何が「95%」なのか?

 10年以上前に、「信頼区間の意味と、Rのpredict()関数の使い方の注意点」というエントリを書いてましたが、余計な記述が多かったのであらためて論点を整理しておきます。


 統計学の教科書をまじめに読んでいる人にとっては今さらな話なのですが、「95%信頼区間」というのは、「この範囲に真の値(母数)がある確率が95%」ということを表しているのではありません。ところが、学生のような初学者だけでなく、理系の大学教員でも「この範囲に母数が含まれる確率が95%」というふうに間違った説明をしてしまっていることがあるので、意外と厄介な概念です。


 たとえば単回帰分析を行って、約2.5という回帰係数が得られ、その95%信頼区間が約1.8〜3.2だったとします。



 ここで、「真のパラメータが1.8〜3.2である確率が95%」と言ってしまうと間違いだということになります。頻度主義の統計学は、「真の値が所与の場合に、データがどう変動しそうか」を考えるものなので、「真の値がこの範囲で動く」という考え方は基本的には持ち出しません。ベイズ統計学の場合は、「データが所与の場合に、真の値はどのあたりにあると考えるのが確からしいか」と考えるので、真の値が動きますが、ベイズ統計学の立場を取っているわけではない文脈でというか、おそらくベイズ統計学を意識的に勉強したわけでもないのに、そういうイメージで語ってしまっている人がたまによく居ます。


 頻度主義における「信頼区間」を正しくイメージするなら、

  • 真のパラメータ(母数)を設定してやると、それに従ってサンプルデータを生成してくれる、乱数発生器を考える。
  • サンプルを生成するたびに、一定の手続きに従って、そのサンプル(データセット)から母数を推定し、信頼区間も計算する。
  • この作業を何回も繰り返すと、信頼区間そのものは、毎回異なるものが得られる。「サンプリングと信頼区間計算」を100回繰り返すと、100個の信頼区間が得られる。
  • この100個の信頼区間のうち、95個ぐらいは、最初に設定した真のパラメータを含んでいる。


 ということになります。一番のポイントは、手元に得られたデータから計算された1回1回の信頼区間の値そのものには、あまり意味はないということです。「今回得られた区間に95%収まるように何かが動く」と考えるから、間違えるわけです。そうではなく、サンプリングを繰り返すたびに「信頼区間自体が動く」んですよね。


 「95%」というのはなんとなく強そうな数値ですが、「今回得られた信頼区間」が95%の強さを持っているわけではないんです。そうではなく、「信頼区間を計算する手続き」(ルール)が、何度も実行されたときに、95%の確率で真の値を捕捉することができるという強さを持っているということです。95%というのは、いわば「信頼区間算出ルールの勝率」です。この、「算出ルールの勝率」という概念を持っておくと、うまく頭が整理されるのではないかと思います。


 まぁ、「真のパラメータが1.8〜3.2である確率」を意味するベイズ信用区間も、標準的な設定(共役事前分布を使うとか)で計算すると結果的には一致するし、そっちのほうが直観的に理解しやすいのですが、頻度主義の統計手法を使っている限りは、明確に異なる概念であるということは理解しておく必要があります。


 じつは上述の信頼区間は、\thetaが真のパラメータだとして、H_0: \theta = 1.8という帰無仮説からH_0: \theta = 3.2という帰無仮説までは、今回のデータによって棄却されないという意味にもなります。また、真のパラメータが1.8や3.2のとき、そのモデルからサンプリングを繰り返してパラメータを推定する操作を繰り返すとした場合に、真のパラメータからサンプリングされたデータから計算されるパラメータ推定値のばらつきの両側95%の範囲内に、今回の手元のデータから推定されたパラメータが入っているということでもあります(通常の線形回帰の場合)。
 以前のエントリではその説明を先にしていたのですが、この言い方だと、真の値が1.8から3.2までの間で動くかのような印象を与えるので、やめといたほうがいいですね。この説明においても、あくまで「真のパラメータが1.8に固定されている場合」から「真のパラメータが3.2に固定されている場合」までを考えているということであって、真のパラメータを変動するものとして考えているわけではないのですが、ややこしいです(笑)


 上の図を描いたコードは下記のとおり。回帰係数と信頼区間が特定の値になるように無理やり選んでいます。

library(ggplot2)

set.seed(1)

# 設定
target_beta <- 2.5
target_lwr  <- 1.8
target_upr  <- 3.2
target_half <- (target_upr - target_lwr) / 2  # 0.7

tol_beta <- 0.002   # 傾きの許容誤差
tol_half <- 0.002   # 半幅の許容誤差
max_tries <- 20000  # 試行回数

# x と ノイズ規模
n <- 50
x <- seq(1, 25, length.out = n)

beta0 <- 0
beta1_true <- 2.5
half_width <- target_half  # 0.7

Sxx <- sum((x - mean(x))^2)
tcrit <- qt(0.975, df = n - 2)

# sigma を逆算
sigma <- half_width * sqrt(Sxx) / tcrit


# 探索ループ(中心と半幅で評価)
best <- list(score = Inf)

for (i in 1:max_tries) {
  y <- beta0 + beta1_true * x + rnorm(n, 0, sigma)
  df <- data.frame(x = x, y = y)
  
  fit <- lm(y ~ x, data = df)
  beta_hat <- unname(coef(fit)["x"])
  
  ci <- confint(fit)["x", ]
  lwr <- unname(ci[1])
  upr <- unname(ci[2])
  half <- (upr - lwr) / 2
  
  # 距離(中心と半幅だけで評価)
  score <- abs(beta_hat - target_beta) + abs(half - target_half)
  
  # ベスト更新
  if (score < best$score) {
    best <- list(
      score = score,
      df = df,
      fit = fit,
      beta_hat = beta_hat,
      lwr = lwr,
      upr = upr,
      half = half,
      iter = i
    )
  }
  
  # 十分近ければ終了
  if (abs(beta_hat - target_beta) <= tol_beta &&
      abs(half - target_half) <= tol_half) {
    message("Found at iter = ", i)
    break
  }
}

# 結果表示
best$iter
best$beta_hat
c(best$lwr, best$upr)
best$half


# 予測値+信頼区間(塗りつぶし)
newx <- data.frame(x = seq(min(best$df$x), max(best$df$x), length.out = 200))
pred <- predict(best$fit, newdata = newx, interval = "confidence", level = 0.95)
pred_df <- cbind(newx, as.data.frame(pred))  # fit/lwr/upr


# プロット
ggplot() +
  geom_point(data = best$df, aes(x = x, y = y)) +
  geom_ribbon(
    data = pred_df,
    aes(x = x, ymin = lwr, ymax = upr),
    alpha = 0.25,
    inherit.aes = FALSE
  ) +
  geom_line(
    data = pred_df,
    aes(x = x, y = fit),
    linewidth = 1,
    inherit.aes = FALSE
  ) +
  labs(
    title = paste0(
      "Slope = ", round(best$beta_hat, 4),
      " / 95% CI = [", round(best$lwr, 4), ", ", round(best$upr, 4), "]"
    ),
    x = "x",
    y = "y"
  )


(参考:このブログのおすすめ記事一覧はコチラ

「検定を繰り返すと第一種の過誤が増える」は間違い

 やや煽り気味のタイトルを付けてみましたが、そんな大層なことをいいたいわけではありません。
 以前、検定の繰り返しと多重比較についてというエントリを書いていたですが、こんなにくどくど書かなくてもいいよなと思ったので、改めて話を簡潔に整理しておきます。


 私が言いたいのは、「繰り返してはダメ」という言い方をしてしまうと、本質が見えなくなって何が問題なのかよく分からなくなるということです。たとえばこの記事に、「この検定を1回だけ行えば、通常は表が多く出たか少なく出たかを正しく判断できます。しかし、同じ検定を何度も繰り返すと、たまたま表が多く出たケースが出てくる可能性が高くなります。」と書かれているのですが、こういう、「繰り返すから悪い」式の説明はよくないと思います。


 心理学をやる人は必ず、頻度主義の統計学で「検定の繰り返し」や「多重比較」について習っていると思うのですが、いちばん分かりやすいのは分散分析の下位検定として、テューキーの多重比較検定やボンフェローニ補正をさせられるケースですね。
 たとえば、小学校にA・B・Cという3つのクラスがあって、それぞれのクラスのテストの成績が有意に異なっているかを検定するとします。そこで1要因3水準の分散分析によって「有意差あり」という結論が出ると、当然、A⇔B、B⇔C、A⇔Cのどこに差があるのかを知りたくなります。そのときに、A⇔B、B⇔C、A⇔Cのそれぞれについて個別にt検定をやると、これは検定の繰り返しにあたり、第1種の過誤(本当は受け容れるべき帰無仮説を棄却してしまう、つまり本当は有意ではないのに有意だと結論付けてしまう)をおかす危険性が増えてしまうので、やめなさいというわけです。しかしこの説明は、誤解を生みやすいです。


 まず、分散分析の下位検定の話の前に、もっと単純な検定の繰り返しの話を整理しておきましょう。たとえば、先ほどの記事で論じられている、コイントスの実験をイメージすると分かりやすいと思います。
 ある実験を行って有意水準5%で「統計的に有意です」と結論づけるのは、「本当は差がないとすれば20回に1回ぐらいの確率でしか見られないほど極端な差が観察されています」と判断することに等しいわけですが、これは逆に言えば、今回観察されたのは「本当は差がなくても20回に1回ぐらいは観察され得る程度の差である」ということです。つまり、実験を20回やれば、本当は差がなくても「有意差あり」と主張できてしまい、それはよくないということです。


 しかし、単に「検定を繰り返すのが悪い」と言われてしまうと、「じゃぁ、異なるテーマでいろんな実験をやって論文を何本も書くと、第1種の過誤をおかす確率が上がってしまうから悪いの?」というような無意味な議論が生じ得ます。もちろん、そんなことはありません。


 上の例の場合、本質的には何が悪いのかというと、有意差が得られなかった19回分のデータを無視して、有意差が得られた1回分のデータだけをみて結論付けようとしているのが悪いんです。「19回は有意差がなかったんですけど1回は有意差がありました」と報告しているなら、べつに問題はないと思います。
 普通は、20回実験を繰り返してデータが得られているのであれば、その20回分のデータを統合した分析をしなければならないということになります。統合にひと工夫必要な場合、「メタ分析」と呼ばれる一連のノウハウを勉強する必要があり、ボンフェローニ補正もそのノウハウの一種だと言えます。
 さらによく考えると、20回分のデータセットからランダムに1セットを選んでそれを分析するなら公平だと言えるのですが(そんな変なことは普通しませんが、別々の研究者がお互いを知らずに同じ実験をしている場合はこれに相当するでしょう)、有意差が得られたやつだけを選んで報告するとなると、自分の研究意図にとって都合のいいサンプルを恣意的に選んでいることになるので、そこに大きな問題があるわけです。同じ原理で、有意差が得られた論文だけ査読を通るようなシステムだと、全体として第一種の過誤が増えてしまうという「出版バイアス」の問題が生じるわけですね。


 分散分析の下位検定としての、多重比較の話に戻りましょう。たとえば、当初はクラスAの成績とクラスBの成績だけが得られていて、両者のあいだでt検定を行って「5%水準で有意差あり」と結論付けたあとに、クラスCでも同じテストが行われてA⇔CやB⇔Cの比較が可能になったとすると、当初のA⇔Bのt検定における「有意差あり」という結論は、間違っていたことになるのでしょうか?


 じつはそんなことはなくて、研究上の関心があくまで「A=B」という帰無仮説を棄却することにあるなら、依然としてA⇔Bのt検定をやっておけば問題はないんです。問題が生じるのは、ABCをあわせた分散分析に接続しようとする場合です。
 ABCをあわせた分散分析というのは、帰無仮説が「A=B=C」になっています。で、「A=B=C」という帰無仮説を棄却する目的でA⇔Bの検定を使うなら、ふつうのt検定ではいけません。というのも、A⇔B、B⇔C、A⇔Cのうち「少なくとも1つの組み合わせ」に有意差があれば「A=B=C」という仮説は棄却できてしまうので、棄却のハードルが下がってしまうことになるからです。


 つまり、問題は「検定を繰り返すこと」にあるわけではないし、「部分的な比較を行うこと」にあるわけでもない。検定対象となる帰無仮説が「A=B=C」であるときに、「A=B」という別の帰無仮説の検定結果をそのまま使ってしまうと、整合性がなくなるよというだけの話です。


(参考:このブログのおすすめ記事一覧はコチラ

不偏分散の分母がn-1であることの直観的な理解

 同じタイトルで数ヶ月前にエントリを書いていたのですが、よくよく考えると全然意味のある説明になってなかったので、まとめ直します。
 不偏分散が
 \displaystyle s^2 = \frac{1}{n - 1} \sum_{i=1}^{n} (x_i - \bar{x})^2
であることの、証明というか導出は、統計学の教科書を見れば書いてあるのですが、「なんで1引くの?」というのを直観的に理解したいと思ったことがある人は多いと思います。「データのばらつきは、独立したランダム(確率的)な変動が生じる情報空間の次元(広さの一種)を意味する自由度に応じて評価すべきもので、パラメータを1個(ここでは母平均)推定するとデータの変動に決定論的な仮定(拘束)が持ち込まれて自由度が1下がるから」というような説明で、直観的に腑に落ちるという人はいいのですが、そういう人はたぶん少数派でしょう。
 それで整理の仕方を考えていて、ひとまず以下のようにまとめましたが、これで腑に落ちる人もあまりいないかも知れません(笑)


 母平均と母分散を設定してやると、それにしたがって正規乱数を生成するような、乱数発生器を考えます。もちろん、観測値はすべてiid(独立同分布)とします。
 分散について考える時、ふつうはこういう数直線上の分布をイメージすると思います。これは母平均2、母分散1に設定しているのですが、標本平均(赤線)は少しズレていて2より少し大きくなっていますね。



 ここで少しデータの見方を変えて、乱数発生器から生成されたサンプル(データセット)を、「サンプルサイズNを次元数とする空間」上にマッピングすることにします。イメージしづらいかも知れませんが、データポイント1つが1本の座標軸に対応しているような、N次元の空間を設けてやると、N個のデータからなる「データセット」そのものを、その空間上の1点として表現できるわけです。
 クラスの生徒が40人いるなら、生徒1人1人が座標軸となって、それが40本直交している、40次元の超空間を考えます。軸には0から100までの目盛りが売ってあり、たとえば算数のテストを実施したら、そのテストの「40人分の成績」を、この40次元空間上の1点としてプロットできます。国語の成績、社会の成績なども、同様にプロットできますし、算数のテストを何回も実施したなら、それも全部プロットできる。
 40次元の空間を図示することはできないので、3人の生徒しかいないという前提で、3次元の空間に50回のテストの結果をプロットするとこんな感じになります。



 この場合、観測値が「独立にばらつく方向」が、サンプルサイズ分(つまり3本)だけ存在すると言え、この捉え方の下では、「分散」とはすなわち1方向あたりの平均的なばらつき具合ということになります。乱数実験であれば母平均が分かるので、1つ1つの座標軸にその母平均の印を付けておくと、プロットされた1つのデータセットが「それぞれの軸に関して母平均からどれぐらいズレているか」を測ったものが母分散に一致し、それを軸の数だけ足し合わせると、総二乗誤差になります。
 そして、3個の観測値がすべて等しくなる点を結んだ線(2次元平面の場合でいうy=xの線)をマクロ経済学にならって45度線と呼ぶことにすれば(対角線でもいいが)、45度線からの距離が、そのサンプルの二乗誤差を表すことになりますね。



 ばらつきの総和としての総二乗誤差(偏差平方和)は、ばらつきの方向の数に比例します。つまり「分散×サンプルサイズ」が、総二乗誤差の期待値となります。しかしこれはあくまで、「乱数発生器に設定した母平均からの二乗誤差」を考える場合の話ですね。
 一方、サンプリングのたびに得られる「そのサンプルの標本平均からの二乗誤差」を考えるとすると、その期待値は上述の値よりも必ず減ります。なぜなら、じつは標本平均というのは理論上、「そこから測った二乗誤差を最小にする点」だからです。ちなみに中央値は、二乗しない「偏差」(の絶対値の和)を最小にする点です。この、「標本平均から測ると二乗誤差が最小になる」という話は、上述の特殊な空間で考えるよりも、元の数直線で考えたほうがイメージしやすいと思います。


 では、具体的にどれだけ「減る」のかというと、ちょうど「方向1本分」だけ減ります。したがって、総二乗誤差を方向の数で割って「1方向あたりの二乗誤差」(すなわち分散)に直すという処理をする際に、割る数をnではなくn-1にしておかないと、期待値が本来の「1方向あたりの二乗誤差」(分散)に一致しなくなるわけです。


 減る量が「ちょうど1方向分」だけであるのはなぜなのか。標本平均というのは、「そこから測った誤差がn-1個分だけ分かれば、残り1個のデータは自動的に決まってしまうような点」であり、これはすなわち、「標本平均から測ると、ばらつきの方向が1本減る」ということに等しい。このことを指して「残差の自由度が1下がっている」と言っていることになります。
 実際には、観測そのものが1個減るわけではないので、変動の方向も減ってるわけではないのですが、全体としてちょうど1本分減るように、すべての観測値が平均に引き寄せられます。……いや、じつはよく考えるとこの言い方にも語弊があって、標本平均というのはそこからデータが生成される「母」(母平均)ではなく、「本当の母がどこにいるかはわからないので、サンプルが得られるたびに仮にそこに母がいることにしよう」と決めている点に過ぎないので、正確には、平均からの偏差がトータルで方向1本分減るように、平均のほうが観測値に近づいていくというほうが、イメージとしては正しいです。


 「n-1で割る理由」を直観的に理解したいのなら、ここまでの説明で十分ですが、もう少し続けます。
 上述の話は、元のN次元空間のまま考えて、標本平均から測った場合の総二乗誤差の期待値が、乱数発生器に設定した母平均から測った総二乗誤差の期待値に比べて、方向1本分だけ減っているということです。一方、何回もサンプリングを繰り返してそのたびに残差(偏差)のベクトルを記録していくとすると、もちろん残差ベクトル自体はN次元のベクトルになるのですが、平均が特定の値になるように拘束を与えると(もちろん実際の観測ではそんな拘束はできませんが)、そのN次元空間の中に収まるn-1次元の超平面上に分布するようになります。
 つまり、基底を取り直せばn-1次元のデータとして再解釈できるということで、これが、「残差の自由度が1下がる」ということの直観的なイメージに対応します。
 下の図は、3次元空間上に分布するはずのデータに、平均が特定の値になるような拘束を与えた場合のグラフです。




 実際の計測では、サンプリングのたびに標本平均自体も変わるので、同じ平面上に分布するようにはならないのですが、いわば1回1回のサンプリングで得られる計測値のセットが、「3次元で動くものを2次元に押し込める」のと同じ程度に、自由を失うということですね。(ここ、意味がわかりにくいと思いますが。)


 「自由度」って、統計の勉強をするときに「なんかそんな概念あるらしい」程度で済ませている人も多いと思うのですが(うちの学生はほとんどそうです)、「自由度あたりのばらつきを評価する」という形で登場する、けっこう重要な概念だということを理解しておく必要があります。「独立に変動する情報の個数」(自由度)が情報のばらつきを捉える上で重要だということは、考えれば分かるはずですけど、考えなくても分析の実務はできてしまうので放置されがちな気がします。


 作図のためのRのコードは以下のとおりです。

set.seed(1)

n <- 100  # 点の数
x <- rnorm(n, mean=2, sd=1)

col_pt <- rgb(0.1, 0.4, 0.9, alpha=0.40)  # 青で半透明

plot(x, rep(0, n),
     pch=16,
     col=col_pt,
     cex=1.0,  # 点の大きさ
     ylim=c(-0.1, 0.1),
     yaxt="n", ylab="",
     xlab="Value",
     main="Samples on a Number Line")

abline(h=0, col="gray")

# 平均
abline(v=mean(x), col="red", lwd=2)
library(plotly)
set.seed(1)

T <- 50          # テスト回数(点の数)
mu <- 60          # 平均点
sigma <- 10       # 点数のばらつき(標準偏差)

# 3人分の得点(各行が1回のテスト、各列が生徒)
X <- matrix(rnorm(T * 3, mean = mu, sd = sigma), ncol = 3)
colnames(X) <- c("Student1", "Student2", "Student3")

# 0~100に丸める
X <- pmin(pmax(X, 0), 100)

plot_ly() |>
  add_markers(
    x = X[,1], y = X[,2], z = X[,3],
    marker = list(
      size = 2,
      color = "rgba(30, 30, 200, 0.35)"  # 青の透明
    )
  ) |>
  layout(
    title = "Each test = one point in 3D (3 students)",
    scene = list(
      xaxis = list(title = "Student 1 score", range = c(0, 100)),
      yaxis = list(title = "Student 2 score", range = c(0, 100)),
      zaxis = list(title = "Student 3 score", range = c(0, 100)),
      aspectmode = "cube"
    )
  )
library(plotly)
set.seed(1)

T <- 50
mu <- 60
sigma <- 10

# データ生成
X <- matrix(rnorm(T * 3, mean = mu, sd = sigma), ncol = 3)
colnames(X) <- c("Student1", "Student2", "Student3")
X <- pmin(pmax(X, 0), 100)

# 対角線用データ(0〜100)
diag_vals <- seq(0, 100, length.out = 100)

plot_ly() |>
  add_markers(
    x = X[,1], y = X[,2], z = X[,3],
    marker = list(
      size = 2,
      color = "rgba(30, 30, 200, 0.35)"
    )
  ) |>
  add_trace(
    x = diag_vals,
    y = diag_vals,
    z = diag_vals,
    type = "scatter3d",
    mode = "lines",
    line = list(
      color = "black",
      width = 5
    ),
    name = "45-degree line (x=y=z)"
  ) |>
  layout(
    title = "Each test = one point in 3D (3 students)",
    scene = list(
      xaxis = list(title = "Student 1 score", range = c(0, 100)),
      yaxis = list(title = "Student 2 score", range = c(0, 100)),
      zaxis = list(title = "Student 3 score", range = c(0, 100)),
      aspectmode = "cube"
    )
  )
library(plotly)
set.seed(0)

N <- 1500
mu <- 2
sigma <- 1

X <- matrix(rnorm(N*3, mean=mu, sd=sigma), ncol=3)
colnames(X) <- c("X1","X2","X3")

R <- X - rowMeans(X)

grid <- seq(min(R), max(R), length.out=25)
z_mat <- outer(grid, grid, function(x,y) -(x+y))

# ふつうにプロット
p1 <- plot_ly() |>
  add_markers(x=X[,1], y=X[,2], z=X[,3],
              marker=list(size=1.5, opacity=0.35)) |>
  layout(title="Raw samples (R^3)",
         scene=list(
           xaxis=list(title="X1"),
           yaxis=list(title="X2"),
           zaxis=list(title="X3")
         ))

# 中心化した場合
p2 <- plot_ly() |>
  add_markers(x=R[,1], y=R[,2], z=R[,3],
              marker=list(size=1.5, opacity=0.5)) |>
  add_surface(x=grid, y=grid, z=z_mat,
              opacity=0.15, showscale=FALSE) |>
  layout(
    title="Centered residuals (R1+R2+R3=0)",
    scene=list(
      xaxis=list(title="R1"),
      yaxis=list(title="R2"),
      zaxis=list(title="R3"),
      aspectmode="cube"
    )
  )

p1  # 表示する
p2  # 表示する


(参考:このブログのおすすめ記事一覧はコチラ

マーケティング専門紙「日経MJ」と「うまい棒」の思い出

 私は会社員を10年やってから大学に転職したのですが、会社員時代の前半は本社の営業部門に所属していて、現場の営業マンをサポートするためのデータ分析やらツール開発やらを担当しておりました。そういう仕事をやっていたので、マーケティング関連の媒体にはそれなりに目を通していて、週3回発行される専門紙『日経MJ』はよく読んでいましたし、当時一番好きだったのは小売・流通業界の雑誌『月刊激流』ですね。激流は、世間ではほとんど知られていませんが、記事のクオリティがとても高かったです。


 2010年12月のある日、いつものように『日経MJ』の記事をチェックしていたら、事務用品通販のアスクルの子会社アスマルが、キングジムとコラボして、通販商品を発送する際の梱包資材(ショックを和らげるための緩衝材)に駄菓子の「うまい棒」を使うというキャンペーンをやっていることを知りました。

アスクル子会社 駄菓子を梱包材に 商品配送で話題作り(2010/12/12 日経MJ)
 
アスクルの個人向け通販子会社、アスマル(東京・江東)は、梱包材に駄菓子を採用した特別包装で商品を送るキャンペーンを始めた。電子文具メーカーのキングジムと連携したクリスマス向け販促の一環だ。アスマルは9月から通販サイトの運営を開始、一般消費者からの知名度はまだ低い。同社はこれまでにない梱包の採用で口コミの波及効果を期待する。
20日までに同社の指定するテーマでブログを書いた人を対象に、電子メモなどのキングジム製品を抽選で贈る。配送の際に人気の駄菓子「うまい棒」を段ボールに詰め込み、衝撃を和らげる。1箱当たり150~200本ほど封入する予定。
まずは同キャンペーンのみでサービスを展開し、「反応がよければ今後の継続も検討する」(アスマル)という。


 私は物流の業界にいたので特にこういう記事が目に留まりやすかったのですが、このキャンペーンにはちょっと疑問を持ちました。綺麗事を言いたいわけではないのですが、お菓子を緩衝材に使うという発想が、「食べ物を粗末にするな」と言われて育った人間としては、ちょっと引っかかってしまうんですよね(笑)


 うまい棒を製造しているのは、茨城県にあるリスカという会社です。私は大学時代にココスというファミレスでバイトしていたのですが、バイト仲間の女子高生が高卒でリスカに就職していたこともあって、この会社には馴染みを感じていたので、お客様相談窓口に以下のようなメールを送ってみました。

日付: 2010年12月13日(月) 午後12:22
件名: 12月12日の日経MJ紙の記事について(うまい棒を緩衝材に使用)
 
リスカ株式会社 御中
 
12月12日付「日経MJ」紙上に、下記に引用した内容の記事が掲載されておりました。
オフィス用品をBtoB通販で提供しているアスクルの子会社・アスマル社が、商品発送時の梱包材として「うまい棒」を使用し、衝撃を和らげているとのことです。
 
「うまい棒」は1本10円とはいえ立派な“食べ物”です。「キャンペーン」期間中の一時期であるとは言え、それを緩衝材に使用するというのは、わが国伝統の「MOTTAINAI」の精神に反していますし、新聞記事に付された写真を見ますと1梱包あたり20本程度*1は詰め込まれており、この金額でアフリカの子供の3日分程度の食費に相当します(カロリーでいうと2梱包で1日分程度)。
 
私は20年以上前の小学生時代から「うまい棒」ファンであり、現在は茨城県つくば市に在住し、常総の貴社工場にもたいへん親しみを感じておりますが、今回の件は非常に残念に思います。
貴社としてはいかがお考えでしょうか?
 
茨城県つくば市 ●●●●


 いま読むと、ただ企業にいちゃもん付けたいだけの「クレーマー」やんけと思いますが(笑)、当時の私としては半分冗談で、半分本気という感じでした。このキャンペーンにちょっとした「気持ち悪さ」を覚えたこと自体は事実ですが、メールはわりと軽い気持ちで送っているネタのようなものです。


 さて、軽いノリで送ったものなので、返信があろうがなかろうがどっちでも良かったのですが、翌々日にはリスカの担当者からメールが届きました。

●●●●様
 
 この度は、貴重な情報をご提供いただき大変ありがとうございます。
 当社でも日経MJを購読しておりましたがご提供いただいた記事は見落としておりました。
 なお、アスマル株式会社に対して当社の商品を梱包材として使用する事は中止していただくように申し入れを行っております。
 
 貴重な情報をご提供頂いたお礼と致しまして当社の商品をお送りさせて頂きたいと思いますのでお手数ですが氏名・住所・ご連絡先をメールにてご返信下さいますようお願いします。
 今後とも当社の商品を応援頂きますよう宜しくお願い申し上げます。
 
 リスカ株式会社
 お客様相談係


 せっかくだから貰えるものは貰っておこうと、私からは下記のように返事しました。

リスカ株式会社
ご担当者様

お礼を戴くほどのことでは全くありませんが……
しかし貴社商品のファンであるため、お言葉に甘えさせていただきます。

[住所]
[氏名]
[電話番号]

今後とも、茨城県を代表するお菓子・パンメーカーとして、益々ご発展
されることを期待しております。

●●●●


 この数日後に、段ボール箱2箱分ぐらいのお菓子が自宅にとどきました(笑)
 そこに同封されていた手紙(添え状)によると、たしか、アスマルかキングジムの担当者を呼び出して、キャンペーンは中止してもらったとのことでした。ひょっとすると、向こうから謝りに来ましたという話だったかも知れませんが、もはやうろ覚えです。


 半分冗談で送った、ネタのようなクレームではありましたが、リスカ社の機敏な対応に誠実さを感じて少し嬉しかったですね。もちろん、私にお菓子を送ってくれたことではなく、キャンペーンを中止させたことについてです。
 ちなみに、一応フォローしておくと、おそらくアスマルとキングジムでこのキャンペーンを考えた人も、そんなに悪気はなかったのだろうと思います。ただ、うまい棒を緩衝材に使うという話をわざわざ「日経MJ」に記事広告のような形で載せて宣伝するのだから、さすがにリスカ社の許可も取ってるのだろうと私は思っていて、だからこそリスカ社にクレームを送ったのですが、全く知らせてなかったようなので、それはちょっとなぁ…と思います。


 で、私はこのときリスカから送られてきたお礼の詰め合わせで、初めて「うまい輪」というお菓子と出会いました。



うまい輪めんたい味 – リスカ株式会社 – おいしさのハートランド


 これはうまい棒を輪っか状にして袋に詰めたものですが、死ぬほどうまいです。昔から売ってますが、知らない人も意外と多いので、ぜひ食べてみてほしいです。コンビニにはまず売ってないし、スーパーのお菓子売り場でもあまり見かけませんが、ドンキホーテあたりだと売っているイメージです。
 個人的には、うまい棒よりうまい輪のほうが、遥かにうまいと感じます。材料は同じで形が違うだけだと思うので、不思議ではあるのですが。なぜなんでしょうね?


(参考:このブログのおすすめ記事一覧はコチラ

*1:記事に1箱あたり150-200本と書いてあるのを見落としてますね😅でもそんなに入らない気がするので記事が間違っているのかも知れません。

生成AIに頼ることで失われるもの

 今年、大学院入試の取りまとめ役をやっていたのですが、私が所属してる専攻は教員が100人ぐらいいるんですけど、毎年1名のメイン担当がほぼすべての情報を把握し、ほぼすべての書類を作成するので、けっこう大変でした。夏の院試は170人ぐらい、冬の院試は30人ぐらいが受験していて、一斉に行われる筆記試験はともかく、1人1人違う時間、違う部屋で行う面接試験のスケジュール管理などは非常に神経をつかう仕事で、面接官をやる先生もすべて変わるので、誰に何を依頼するか間違えそうでハラハラします。大学院入試というのは案外複雑な制度で、受験資格や試験のカテゴリが何種類もあるので、「この人にはこの書類でよかったっけ?」というのがよく分からなくなりがちです。


 で、受験生ごとの個別資料にせよ全員に関わる共通資料にせよ、「去年までの書類をベースに、日付や名前や番号だけを書き換える」という作業がとても多く、こういうものは自動化したいなと強く思いました。実際、毎年少しずつ電子化や自動化を進めていますし、「教員の本来の仕事は研究と教育なので、事務作業は事務部門に任せるべき」という理由で、事務部門への移管を進めているものもあります。


 ところが、実際にやってみて気付いたのですが、「去年の書類の日付と人の名前だけを今年バージョンに書き換える」みたいな単純作業をひと通りやることで、初めて、入試制度の仕組みが頭に入るんです。「ここの日付はこっちでよかったっけ?」みたいな確認が、学習を強力に後押しする感じです。もちろん、募集要項や内規などを丹念に読めば、入試制度を理解することは理論上はできるはずなんですが、過去に入試担当をしていた先生たちに聞いてもそんなことができている人は皆無で、「入試の仕事が終わって担当から外れる頃に、初めて入試制度が理解できるんだよ」と口を揃えて言ってます。


 これと似たようなことを、最近はデータ解析のためのプログラミングに関して感じています。ChatGPTやGeminiなどの生成AIが、完全に実用的なレベルになったわけですが、学生にその使用を推奨するかしないかは、けっこう悩みどころです。イチからコードを書く経験がないと、生成AIが出してくるコードの意味が分からなかったり、間違いに気づけなかったりするからです。だから基礎は自分で勉強したほうがいい気がするものの、それも生成AIにダブルチェックをさせたり、コードの意味や使い方や注意点を説明させることができてしまうので、あまり意味はないかも知れません。


 思えば我々教員だって、PythonやR、ちょっと気合を入れてC++ぐらいは使うことがあったとしても、機械語はもちろんアセンブラのような低級言語*1を書いた経験がある人はほぼいないし、CPUやメモリの動作原理を詳細に把握してるわけでもないので、「中身をよく理解せずにツールを使っている」という意味では、生成AIにコードをかかせている学生と似たようなものだとも言えます。


 結局、昨年度ぐらいから、学生には卒業論文や修士論文のためのデータ解析で、ガンガン生成AIを利用してコードを書かせています。Rの基本的な操作方法だけは教えてますが、生成AIをつかって実用的なコードを書きながら、生成AIとのやり取りを通じて勉強するほうが、圧倒的に効率的なので、そっちでいいと判断してます。


 しかし、仮にそっちが効率的だとしても、なんというか、「人生経験」のような意味では物足りない気はします。私は、会社員だった2010年代の初頭にデータ解析やプログラミングの勉強をはじめたのですが、当時は勉強する手段と言えば、「教科書」と「その界隈のブログ」と「その界隈の勉強会」でした。私はその「界隈」に深入りはしませんでしたが、当時は「ビッグデータ」や「ディープラーニング」の時代の入口で、ビジネスマンで初めて勉強するという人が多かったので、詳しい人(たとえば大学院で統計学や機械学習をみっちり勉強した人)をみつけて教わったり、同レベルの人とお互いの意識を高め合ったりする機会がけっこうあって、あの頃の「熱い空気」はよかったなといい思い出になっています。しかもそれを匿名(ハンドルネーム)でやるっていう、あの文化が私はいまでも好きです。


 その後、YouTubeの解説動画にもいいものが出てきたことでも、少し時代が変わったのかも知れません。ちなみに今の学生は、数学の勉強をするときも、YouTubeの動画をけっこう見るらしいです。偏差値トップクラスの理系学生でもそうなので、YouTubeは侮れないです。逆に言えば、YouTubeよりわかりやすく面白い授業ができている教員が、いかに少ないかということでもありますね(笑)


 でもまぁやっぱりインパクトが大きいのは生成AIですよね。なんでも教えてくれるし、しかも回答は瞬時で、間違いがない*2。分からないところを何度も聞き直しても、嫌がらずに教えてくれます。昔は、技術面で気になることがあってGooglで検索すると、それを説明しているっぽいブログ記事とかが何個か見つかり、読み比べているうちにおぼろげながら分かってくる……という感じでした。読んでるうちにさらに疑問が出てきて筆者に質問をしてみるものの、すぐに返事があるとは限らない、というか結局返事がもらえない場合も多いし、その人自身もちょっと間違えてたりします。Stack Overflowなどの質問サイトも同じですね。


 そういう「界隈」の「先人」を頼るモデルは、明らかに非効率なので、生成AIを使わずにそれをやれとは、なかなか学生には言えません。というか、そういう「界隈」自体がハッキリと存在しなくなっていくのかも知れないですね。「TokyoR*3でLT*4を披露したりするのカッコよくて憧れるなぁ〜」というような価値観は、今もあるんでしょうけど、生成AIが何でも教えてくれるとなると、界隈と関わりをもつ必要自体が薄れていきますね。


 しかしこれはぜひ言っておきたいのですが、人から教わるしかなかった時代の美点の一つは、「自分もこのコミュニティに貢献したい」という利他的なモチベーションをもつことができたことです。このブログを書き始めた当初の目的も、「細かい技術的な問題を解決した記録をつけておくと、もしかしたら将来、誰かの検索に引っかかってその人の役に立つかもしれない」というのが大きかったです。*5


 これは、今の学生たちにもぜひ経験してほしいですね。データ解析やプログラミングに関してそれをやる必要がなくなったなら、別の領域ででもいいし、もちろんブログなどという旧式のメディアを使うことにもこだわらなくていいので。自分より詳しい「人」に教えてもらって、「なるほど!」と納得しつつ敬意を抱く経験や、自分が苦労して理解したことを仲間にわかりやすく説明して尊敬されたいという願望は、持ったほうがいいと思います。これは「承認欲求」(私はこの言葉が嫌いです)というようなレベルの低い話ではなく、ふつうに人間としての美徳です(笑)。そのほうが勉強自体も捗るし。


 また、さっき冒頭で、入試の書類の日付を更新する作業を通じて入試制度の全体像が頭に入るという話をしましたが、統計分析やプログラミングでも、自分で手を動かして間違えたりしないと、根本の仕組みが分からないという面はかなりあると思います。生成AIの教えてくれるコードは、いまのところは間違いもあるのですが、これが完璧になってしまうと、「なぜ動かないんだろう」と引っかかって疑問をもつ機会がなくなってしまいます。


 「そんな無駄な時間はないほうがいい」という人がいるかも知れませんが、それは、目先の作業を片付ける上での効率性について言えば、そのとおりです。しかし、引っかかったタイミングでこそ、その仕事を成り立たせている「根本の原理」や「システムの全体像」への関心が開かれるんですよね。その機会を持たない人は、「なぜこんなことが可能になってるんだっけ?」「なぜこのやり方ではダメなんだっけ?」という疑問をもつこともなくなってしまいます。


 たとえば、RやPythonの関数で、普段は何も考えずにデフォルトのまま使ってる引数がたくさんあります。計算の挙動がうまくいかないときに、ある引数の設定が問題だったことが発覚して、ドキュメントでその引数の役割を調べてるうちに、統計学の理論そのものへの理解が浅かったことに気づいて「なるほどそういうケースもあり得るよな」と納得したりする。入試事務でいうと、「この様式には〇〇の欄がないけど良いんだっけ?」という疑問を持ったとき、その場で〇〇の欄を追加したくなる衝動をグッとこらえて、内規をイチから読み直し、「こんなルールがあったとは!」とか「このルールはここで使うのか!と」発見したりする。そういうことを続けているうちに、ものごとの仕組みが自分の頭に、というか身体の芯に入ってくるような感じです。


 「人間はものごとの本質的な仕組みや目的だけ理解していればよく、単純作業は機械に任せよう」というのは、本当にそれで本質が理解できるなら正しいと思います。しかし実際には、機械に頼ることで「本質に対する興味自体がなくなってしまう」場合がほとんどです。


 工学部の一回生向けの情報処理の演習を担当したことがあり、LinuxやFortranやTexを教えるのですが(今年ぐらいから言語はPythonに変わるようですが)、学生に「機械語は数字の0と1から成るという話は聞いたことあると思うが、機械がどうやって数字の概念を理解してると思う?」みたいなクイズを出したりしていると、知識として知らないだけでなく、そもそもそういう疑問を持ったことすらない人が多くてちょっと驚きました。「え、君ら工学部の学生なんちゃうの?」と。


 そのうち、「そもそも自分がやりたいことはなんだっけ?」と目的を問い直すことも、できなくなってしまうんじゃないでしょうか。先日、学生とデータ分析の打ち合わせをしていて、「このデータに対しては、こういう分析をやる必要がある。細かいやりかたはChatGPTに聞いといて」というアドバイスを繰り返していたら、「先生、次はChatGPTに何を聞けばいいですか」と質問されて衝撃を受けました。「いや、何をすべきかはお前が考えることやろ」と一瞬思ったのですが、その学生を馬鹿にするのではなく、優秀な人間でも容易にそうなってしまうのだという戒めにすべきだと思います。


 ちなみに、今のところ生成AI(LLM)は、そもそも単純に頼っているだけの人だと、大した情報を引き出せなくて、活用しきれないのが現状だと思います。なので、人間をスポイルしてしまう効果も、まだそれほど大きくはないのかも知れません。


 ものごとの本質や根本原理に関心をもつ人が生成AIと対話を続けていくと、どんどん理解が深まっていくのですが、「鋭い問い」を持てない人は浅いところで対話をやめてしまうので、「Googleで検索するよりちょっと楽」という程度にしか価値を引き出せない。そういう意味では、まだ今は「生成AIを使うにも苦労と工夫が必要な時代」であり、黎明期ならではのワクワク感があるので、我々がインターネットやデータ解析についてしたような経験を、生成AIについてすればいいだけかも知れません。これがもっと高度なエージェントになってくると、どうなるんでしょうね💦


 生成AIの圧倒的な効率性を、利用しない手はないです。しかしそれによって失われるものも確実にある。効率性によって得るものと失うもののバランスというのは、テクノロジーにまつわる永遠のテーマみたいなもので、単純な正解はないのですが、なるべくそれを「言語化」しておいたほうがいいとは思います。


 余談ですが、 いま、生成AIにレポートを書かせたりエロ画像を作らせたりしている学生たちは、思い通りの出力にならなくてそれなりに苦労をしていると思いますが、10年ぐらい経つとそれを後輩たちに「武勇伝」や「ノスタルジー」として語るようになるでしょうね(笑)。おそらく10年たつと、技術が進んで苦労がなくなるか、もしくは規制が強化されてグレーゾーン的な楽しみ方ができなくなって、「お前らにはわからんだろうが、あの頃は楽しかったんだぜ」と語る時代がきます。インターネットの歴史はそれの繰り返しです。


 そういえば他学部の学生ですが、超人気企業のインターン選考でオンライン面接をChatGPTだけで乗り切って、最終的に内定までもらって就職するという奴がいます。けしからんと思う面もありますが、企業側も対策するようになってきてるので、「生成AIの黎明期に一瞬だけ可能だったチート技」として、かけがえのないエピソードであるとも思います。そう考えれば、今のうちに生成AIと思う存分戯れておくのが正解という気はします。


 研究者にとって重要なところでは、海外の文書の翻訳とかも、今は割と自由にできてますが、「著作権の問題があるので訳せません」と言われるケースが増えてきてますよね。プロンプトの工夫で容易に回避できるのも、今のうちだけかも知れません。厳密にいえば違法行為が含まれるのでやるべきだとは言いませんが、ファイル共有や動画ダウンロードツールとかと同じで、「使えるうちに使いまくって保存したもん勝ち」な面はあると思います。個人的には、YouTubeがそうなってきたように、著作権者にお金が流れる仕組みをうまく作ってほしいのですが。


(参考:このブログのおすすめ記事一覧はコチラ

*1:ここでいう「低級」はショボいという意味ではなく、機械語に近く基礎的という意味。

*2:歴史的事実とかを尋ねると間違えてることがありますが、入門レベルのプログラムに関しては間違いがほぼないです。

*3:Rユーザのイベント

*4:ライトニングトーク

*5:大して意味のある記録は書けてないのですが、それでも頻繁に更新していた頃は、一応、毎月3万UUぐらいのアクセスがありました。独自ドメインに変更するときの手違いで、Google検索からのリンクが切れてしまい、激減しましたが(笑)

大学教員が最近の学生をみて感じるカルチャーショック10選

民間企業で10年働いてから大学に転職して、8年が経ちました。自分が大学生だった20年前と比べてのカルチャーショック、ジェネレーションギャップのまとめ(決定版)です。
 

第10位 授業にちゃんと出席している

最近の大学生は、とにかく授業に出席します。
いや当たり前だろと言われそうですが、昔の大学は出席管理が甘かったので、語学や体育のように出席を重視している一部の科目と、話が面白いと思える授業だけ出席して、あとの授業はレポートや試験だけ何とか頑張るというスタイルが割と一般的だったと思います。
周りの教員に聞いてみても、そういう人けっこういますね。
なので個人的には、自分がやってる授業でも出席なんて取らずに興味ある人だけ聴いてればいいと思うのですが、最近はしっかり管理しないと大学から怒られます。文科省が厳しいらしいです。
 

第9位 20歳になるまで酒を飲まない

最近の大学生は、法律を守ります。
私ぐらいの世代だと、まず初めての「飲み会」が高校1年の6月の体育祭の打ち上げでした。昔は、居酒屋にせよ、コンビニや酒屋にせよ、年齢確認とかなかったですし、教師も黙認してましたよね。
大学に入ると、清楚で真面目な女の子とかも、周りに合わせてふつうに飲んでたと思います。現役で入った1年生は18-19歳ですが、サークルの新歓とかに行けば酒を飲むのが普通だったと思います。
一方、今の大学生は、20歳になるまで飲まないという人が多いみたいです。真面目になったような印象ですが、そもそも昔に比べると飲み会自体が少ないし、酒を飲みたいというモチベーションもべつになさそうではありますね。
 

第8位 読書量が少ない

最近の大学生は、昔に比べると、読書量が少ないと思います。
特に、いわゆる教養書を読まなくなっていますね。私が教えてる工学部ではもともと本を読まないのは普通なのですが、とある文系学部(偏差値が国内最高だった時代もある)の先生に聞いたところ、最近の学生に「最近読んだ面白い本は?」と聞くと、池上彰の解説本とかを挙げてきて驚いたそうです。いや、べつに池上彰さんに文句を言いたいわけではないのですが……。
昔の文系学部だと、『必読書150』に出てくるような岩波文庫の古典を片っ端から読んでいく……というのは大げさにしても、読んだフリができる程度にはつまみ食いしておくとか、そういう感覚があったと思います。
一方、今の大学生は、成績が優秀な層でも、「◯◯ぐらいは読んでいないと恥ずかしい」「解説書に頼ったことは人に隠しておく」という感覚があまりないようですね。
私が大学生の頃、ゼミの先生から、「教養書(典型的なイメージとしては岩波文庫や中公新書)は1週間に1冊ぐらい読んでいれば大学生として及第点」と言われたのを覚えています。自分では1日1冊を目標にしていて、結局サボるので平均すると2〜3日に1冊になってたと思いますが、大学生は週1ぐらいでそういう本を読んだほうがいい気はします。
 

第7位 教員を見下さない

最近の大学生は、教員を見下したりしないです。
昔はどうだったかというと、熱心な学生ほど教員を小馬鹿にしているようなところがあって、「あの先生はじつは本質を分かってない」「あいつは所詮左翼だから」「この授業の説明は古い」とかよく文句を言っていたと思います。
もちろん、今もそういう学生はいるのですが、昔に比べたらだいぶ少なくなってるんじゃないでしょうか。表に出さないので私の目に入ってこないだけ、という可能性はあるのですが、どうもそういう感じでもなさそうなんですよね。
優秀な学生でも、教師の言うことを素直に信じているという印象です。もう少し反骨心があってもいいかも知れません。
 

第6位 (笑)でもwでもなく笑

最近の大学生は、「笑」を直接語尾にくっつけます
括弧とかは付けません。

「先生そんなことも知らないんですか笑」

というふうに使います。
2個並べるときは、

「先生さっきチャック開いてました笑笑」

となります。
我々のような2ちゃんねる世代は「w」も使いますが、今の学生は全く使わないですね。
ちなみに私は、(笑)を変換辞書に登録したので(笑)を基本につかっています。
 

第5位 授業中に講義スライドの写真を撮る

最近の大学生は、講義中に教員が投影しているスライドを、スマホで撮影します。
撮っていいか確認したりもせず、当たり前のようにパシャパシャ撮影します。
私自身は撮られても構いませんし、「熱心に聴いてるやん」ぐらいに思うのですが、本来は、他人のプレゼンテーションを撮影していいかどうかは事前に確認するのがマナーですよね。一般の講演会とか企業の打ち合わせなどでは、著作権や機密情報への配慮も必要なので、勝手に撮るのはNGです。
最近、そういう一般常識を知らずに学生が社会に出るのも問題だなと思ったので、今後は、一応そういう一般的なマナーを教えた上で、私のスライドは自由に撮っていいと伝えようと思います。
 

第4位 格闘技に興味がない

最近の大学生は、格闘技には興味ないです。
私が学生だった頃は、K-1とかPRIDEとかがゴールデンタイムに地上波で流れていたので、特段「格闘技好き」というわけではない人も割と観てましたが、今の学生は全く観ないようです。
ここ数年、BreakingDownがバズってますし、格闘技選手のYouTubeチャンネルなどもかなりメジャーになっているので、てっきり学生たちも朝倉未来とか安保瑠輝也とか平本蓮とかの動向を知ってるのかと思いきや、驚くほど、まったく話が通じません
そういえば、学生をフィールドワークに連れていく少人数制の授業があるのですが、一昨年(2023年)、その履修者に「大晦日のRIZIN、チケット代は無料でいいので行きたい人いますか?」と募ったら、希望者ゼロでした。1枚33,000円のチケットを私費で4枚取ってたので、ふつうに友人と行きました(笑)
 

第3位 男子でも免許はAT限定

最近の大学生は、クラッチ操作ができません。
私が大学生の頃だと、男子は9割以上がMT免許を取り(ただしクルマを買うなら9割がAT車)、女の子は逆に9割がAT限定免許という感じでしたが、今は男子でも8-9割ぐらいがAT限定のようです。
免許の取得率そのものは、それほど低下はしていない印象です。3回生向けの交通工学の授業を担当しているので、毎年学生に手を上げてもらってるのですが、7-8割の学生が免許は取っています。
しかしクルマを買いたいという人は稀で、学生のうちに取っとくのが無難だから取ってるというだけですね。
 

第2位 就活時期が早い

最近の大学生の就活は、早いケースでは2回生の12月頃から始まります。
3回生の4〜8月ぐらいに、外資系コンサル、投資銀行、メガベンチャーあたりの有力どころのインターンがあるのですが、それに受かるためには「選抜コミュニティ」という、就活戦闘力最高レベルの意識の高い学生が集まるサークルみたいなやつに所属する必要があります。いや、べつに所属しなくてもいいんですけど、私が話を聞いている範囲では、内定まで取れる学生の8-9割ぐらいはその種の選抜コミュニティに所属してますね。
選抜コミュニティは、SPIやケース面接の対策のための互助会でもあるし、人脈づくりの場にもなっています。
選抜コミュニティ自体が、誰でも入れるわけではなく見込みのある学生しか入れてくれないので、その準備を2回生の12月ぐらいからする人もいるわけです。
なお、早ければ3回生の8月頃に内定が出てしまうので、就活にかけている時間自体がめちゃめちゃ長いというわけでもないですね。内定が早い人は、残りの1年半ぐらい学業と遊びに専念できます。
 

第1位 忙しそう

最近の大学生は、とても忙しいようです。
これ、大学の教員はみんな感じていると思うのですが、「えっ、学生ってそんな忙しいもんだっけ!?」と不思議に思ってしまうほど、みんなスケジュールの空きがないんですよね。
学生に何かを頼んだり誘ったりすると、「月末まで余裕がありません」みたいなことがけっこうあります。
何がそんなに忙しいのかいまいちわからなくて、教員から見るとけっこう「謎」です。学生も、教員から「学生がそんなに忙しいわけないだろ」と不思議がられているということは知らないと思うので、お互いの認識ギャップを埋めるためにも、何らかの調査が必要なんじゃないかと真面目に思っています(笑)

  1. 教員自身も、自分が学生だった頃はバイトとか入れまくっていて空き時間がなかったのを、忘れているだけ。
  2. 実際に、最近の学生は昔の学生より忙しい。
  3. 教員の依頼を断るために忙しいフリをしている。

と、いろいろ可能性が考えられるのですが、私の仮説は1ですね。自分が何かを頼む側になった時に、都合よく「学生は暇なはず」と思い込むバイアスが働いているのではないかと思っています(笑)

「社会課題」という日本語への違和感

学生のレポートや、就職活動のために書いているエントリーシートの作文などを見ていて、「社会課題」という言葉がよく使われるのが前から気になっていました。「この技術はさまざまな社会課題の解決に貢献し得る」みたいな。


おかしな日本語なのかと言われると、べつにそうでもないんだろうと頭では思うんですが、「そんな言い方しなくない?」って個人的には感じてしまいます。
「社会的な課題」とか「社会の課題」とか言うほうが普通だろうと。
「社会課題」という短縮の仕方は、「学校の宿題」を「学校宿題」と略しているような感じがして、気持ち悪いんですよね(笑)
「社会的課題」だと、まだ自然に感じます。理由はよくわかりませんが。


で、調べてみたら、「社会課題」という言い回しはここ10年ぐらいで急に増えたようです。
以下は、日経テレコン21という新聞記事のデータベースで、日経・朝日・毎日・読売・産経の記事を5年ごとに検索して、「社会課題」を含む記事の件数を、総記事数で割って、10万件あたりの数字に直したものです。



まぁ、個人的に気持ち悪いだけで、それなりに市民権を得ている表現ではあるようなので、学生に「使うな」とまで指導はしませんが、俺と同じように感じてる人けっこういるんじゃないかな〜?


あ、関係ないけど「自分ごと」という日本語は「使うな」と指導しています(笑)*1


(参考:このブログのおすすめ記事一覧はコチラ

*1:カギカッコをつけたりして「あえて」書いてる感を出しながら使う分にはあり。市民権を完全に得ているわけではない新しい日本語を、かたい文章の中で当たり前のように(市民権を得きっていないことを知らずに)使ってしまうと、子供っぽく見えるので。