F@N Ad-Tech Blog

株式会社ファンコミュニケーションズ nend・nex8のエンジニア・技術ブログ

佐賀から青山にきた理系大学生が未経験の統計分析をやってみた話

こんにちは、インターンシップ生のh_hondaです。
休日は友人とゲームをしたり、知り合いとツーリングに行ったりしています。余談ですが愛車はHondaのCBR250Rです。

さて、前々から気になっていた統計分析に挑戦しました。

今回、大半の学生がアルバイトをしている中で人気のあるアルバイトとそうではないアルバイトがあり、そのギャップが気になっていたので、地方の学生のアルバイト事情について実態を探ってみようと思います。
自身が地方の学生ということで、身近なところからアプローチしていきます。

アルバイトの満足度の分析

分析したもの

  • 時給と満足度の関係
  • 融通性と満足度の関係
  • 職種毎の満足度

用意したもの

  • アルバイトに関するデータ

「アルバイト経験の有無、時給、勤務先までの距離、融通の利きやすさ、職種、満足度」の情報。事前にとある地方の学生約100人にアンケートで調査しました。
アンケートの内容

  • アルバイトの経験はありますか?(part_time) → ある:1、ない:0
  • 時給はどれくらいですか?(pay)
  • 勤務先まで距離はどのくらいですか?(distance) → 0~1km:0、1~4km:1、4km~:2
  • 融通が利きますか?(flexible) → 効く:1、効かない:0
  • 職種は何ですか?(job)
  • 満足度はどれくらいですか?(satisfaction) 0~100%

work_data.csv

part_time pay distance flexible job satisfaction
1 730 0 1 restaurant 30
1 975 1 0 entertainment 0
1 910 0 1 professional 90
1 800 0 1 restaurant 90
1 720 1 1 restaurant 60
1 800 1 0 restaurant 25
1 1500 2 1 entertainment 100

アンケート結果の基本統計量

アルバイト経験の有無 %
あり 91.3
なし 8.7
時給 value
count 91
mean 906.59
std 177.34
min 700
25% 800
50% 900
75% 1000
max 2000
勤務先までの距離 %
4km~ 20.0
1~4km 37.9
0~1km 42.1
融通の利きやすさ %
利く 87.4
利かない 12.6
職種 %
飲食 41.1
教育 14.7
接客 11.6
販売 10.5
専門職 8.4
エンタメ 3.2
営業 1.1
事務 1.1
その他 8.4
満足度 value
count 57
mean 68.86
std 26.31
min 0
25% 60
50% 75
75% 85
max 100

分析してみる

import pandas as pd
import numpy as np
from matplotlib import pyplot as plt
from sklearn import linear_model

# データの読み込み
work = pd.read_csv("work_data.csv", sep=',')

# アルバイト経験者と未経験者を分割する
work_t = work[work['part_time'] == 1]
work_f = work[work['part_time'] == 0]

# アルバイト経験者で欠損値を持つレコードを削除
work_t = work_t.dropna(subset=['satisfaction'])

散布図と回帰分析で時給と満足度の関係を分析する

散布図とは、縦軸、横軸に2項目の量や大きさ等を対応させ、データを点でグラフに描き入れたものです。

Wikipediaより引用。https://ja.wikipedia.org/wiki/散布図

回帰分析とは、独立変数と従属変数の間の関係を表す式を推計するための統計的手法です。

Wikipediaより引用。https://ja.wikipedia.org/wiki/回帰分析

# 時給と満足度を二次元配列でまとめる
x_pay = work_t['pay'].as_matrix()
y_satisfaction = work_t['satisfaction'].as_matrix() 

# 散布図描画
plt.figure(figsize=(12,8))
plt.scatter(x_pay,y_satisfaction)
plt.title("Correlation of Pay and Satisfaction")
plt.xlabel("Pay")
plt.ylabel("Satisfaction")
plt.grid(True)
# 線形モデルの構築と予測
clf = linear_model.LinearRegression()
clf.fit(x_pay.reshape(-1,1), y_satisfaction.reshape(-1,1))
clf.predict(x_pay.reshape(-1,1))
# 回帰係数
print(clf.coef_)
# 切片 (誤差)
print(clf.intercept_)
# 決定係数
print(clf.score(x_pay.reshape(-1,1), y_satisfaction.reshape(-1,1)))
# 相関係数
print(np.corrcoef(x_pay, y_satisfaction)[0, 1])
# 回帰直線
plt.plot(x_pay.reshape(-1,1), clf.predict(x_pay.reshape(-1,1)))

f:id:fan_h_honda:20170907173759p:plain
時給と満足度の関係

回帰係数 0.03204934
切片 40.24858746
決定係数 0.0344071862097
相関係数 0.185491741621

決定係数とは、独立変数が従属変数のどれくらいを説明できるかを表す値です。

数値が大きい程当てはまりが良いです。
Wikipediaより引用。https://ja.wikipedia.org/wiki/決定係数

相関係数とは、2つの確率変数の間にある線形な関係の強弱を測る指標です。

絶対値が1に近い程線形な関係が強いことを表します。
Wikipediaより引用。https://ja.wikipedia.org/wiki/相関係数

時給と満足度は、相関係数が0.19で0に近いため、相関関係があまりないといえます。地方の時給はばらつきが弱いように思います。一方で、都会(東京都)の時給はばらつきが強いため、地方とは違った結果が期待できそうです。
また、プロットされている点が全体的に上の方にあることから、時給に関わらず全体的に満足度が高いといえます。

箱ひげ図で融通性と満足度の関係を分析する

箱ひげ図とは、データのばらつきをわかりやすく表現するための統計図です。

Wikipediaより引用。https://ja.wikipedia.org/wiki/箱ひげ図
箱ひげ図で分析する理由は、融通性を「ある」か「ない」かの離散値で設定しているためです。

work_t.boxplot(column='satisfaction', by='flexible')

f:id:fan_h_honda:20170907173543p:plain
融通性と満足度の関係

箱ひげ図より融通性があると満足度が高い傾向にあります。しかし、融通性がなくとも満足度が高いデータもあるため、データ数を増やすと今回とは違った結果が得られそうです。

箱ひげ図で職種毎の満足度を分析する

work_t.boxplot(column='satisfaction', by='job')

f:id:fan_h_honda:20170907173810p:plain
職業ごとの満足度

「entertainment(イベント・アミューズメント等)、restaurant(飲食)」は満足度にばらつきがあります。また、他の職種(教育、その他、専門職、営業、接客)は満足度が高い傾向にあります。
さらに各職種に詳しい属性を加えて分析してみると意外な傾向があるかもしれません。

まとめ

地方の学生のアルバイト事情について分析しました。

地方の学生がアルバイトを評価する要点として融通の利きやすさと職種があることがわかりました。つまり、彼らがアルバイトに望むことは働く環境と業務内容だといえます。一方で、時給がアルバイトを評価することにあまり重要性がないため、お金を稼ぐことに依存しない方がアルバイトは有意義であると思います。

今回は地方の学生のデータを扱いましたが、都会の学生や主婦のデータを扱ってみると意外な結果が期待できそうです。

さて、今回の研究を振り返ってみます。
反省としてはデータ数と設問数が少なく、深みのある分析ができませんでした。これを改善できればもっと様々な分析が行えると思います。
頑張ったことは統計分析の方法の選別です。データを効果的に考察するためにアルバイトに関するデータと各統計分析の特性を照合しました。
難しかったことはpythonやライブラリの独自の記法に慣れることです。記法に関するエラーが頻繁に起こっていました。

今回の研究で地方の学生のアルバイト事情を知ることができました。当たり前の生活の一部に着目して、深く考えてみると意外な発見があり、新鮮さを感じれて良かったです。

今回のインターンシップ

参加した理由

私はデータサイエンスに興味があり、統計分析や機械学習を学びたくて今回のインターンシップに参加しました。

良かった点

  • 興味のある分野を学習できるプログラムだった。
  • マンツーマンのワークで集中して取り組めた。
  • メンターから的確なアドバイスがもらえた。
  • 実際に働く社員の方の目の前での作業や多種多様な社員の方々と話せる機会があり、会社を知るとともに仕事に関する観点が改善できた。

インターン募集のお知らせ

現在ファンコミュニケーションズでは、オーダーメイドインターンを経験したい人を大募集しています!インターン生が作ってみたいと思うサービスやアプリづくりをサポートします。

詳細は、https://www.wantedly.com/projects/115518 まで。