SlideShare uma empresa Scribd logo
1 de 25
Baixar para ler offline
Rを使った統計解析のススメ
宮川 彩
#aiagirls
自己紹介
1
名前:宮川 彩
所属:アサヒビジネスソリューションズ株式会社
好きなお酒:ビール、日本酒
今見てるドラマ:SUITS
2016年からアサヒグループのデータを分析するチームに所属し、
SNS分析や機械学習を利用したデータ解析作業を実施しています。
人工知能と機械学習、ディープラーニングの違い
2
人工知能、機械学習、DeepLearning(深層学習)はどれも違う技術という
わけではなく、下記の図のような構造で表すことができます。
人工知能(AI)
機械学習(ML)
DeepLearning(DL)
ニューラルネットワーク(NN)
Rとは??
3
R Excel
利用用途 統計解析 表計算から資料作成まで多様
コスト 無料 有料(数万円)
扱えるデータの量
○
(150万行の読み込みも可)
×
(1,048,576行、16,384列)
GUI △ ○
オープンソースソフトウェアの統計解析ソフトウェア
✓ 大規模データを分析する際に効率的
✓ Excelではできないクラスター分析やバスケット分析などの統計解析が可能
✓ Excelだと項目設定が面倒なグラフもスピーディーに出力することが可能
■Excelとの比較
むずかしいの?
4
R言語(プログラミング言語)を用いて、統計結果を出力します。
しかし、グラフ作成や機械学習もできます
5
グラフ作成 機械学習
• 回帰分析
• ロジスティック回帰
• 決定木
• クラスタリング
• 主成分分析
• ニューラルネットワーク
などなど
Rで分析を始める前に
6
必要なソフトウェアをインストールします。
• Rのインストール
CRAN(The Comprehensive R Archive Network)からダウンロード。
https://cran.r-project.org/
• R Studioのインストール
Rによるデータ解析や開発を支援する統合開発環境です。スクリプトエディタ機能
やグラフィック管理機能を有しています。
https://www.rstudio.com/products/rstudio/download/
R Studio
7
スクリプト&データ
変数チェック
実行コンソール
グラフスペース
やってみること
8
Rで分析してみます!
• 基本統計量の算出
• グラフ作成
• シェア自転車利用者数予測(重回帰分析)
• その他もご紹介
サンプルデータ
9
自転車シェアリングの利用者数データ(731行)
目的変数 説明変数
数値 数値 カテゴリー
利用者数 気温 体感気温 湿度 風速 季節 年 月 祝日 曜日 休日 天気
cnt temp atemp hum windspeed season Yr Mnth Holiday weekday workingday weathersit
985 0.344167 0.363625 0.805833 0.160446 1:春 0:2011 3 0:祝日以外 6:土 0:休日 1:晴・曇
801 0.363478 0.353739 0.696087 0.248539 1:春 0:2011 4 0:祝日以外 0:日 0:休日 2:小雨
1349 0.196364 0.189405 0.437273 0.248309 2:夏 0:2011 7 0:祝日以外 1:月 1:休日以外 1:晴・曇
1562 0.2 0.212122 0.590435 0.160296 2:夏 0:2011 8 0:祝日以外 2:火 1:休日以外 1:晴・曇
1600 0.226957 0.22927 0.436957 0.1869 3:秋 1:2012 10 1:祝日 3:水 0:休日以外 4:大雨
1606 0.204348 0.233209 0.518261 0.0895652 3:秋 1:2012 11 1:祝日 4:木 0:休日以外 4:大雨
1510 0.196522 0.208839 0.498696 0.168726 4:冬 1:2012 12 1:祝日 5:金 0:休日以外 1:晴・曇
959 0.165 0.162254 0.535833 0.266804 4:冬 1:2012 1 1:祝日 6:土 1:休日 3:雨・雪
データの読み込み
10
setwd(“作業ディレクトリ")
# ファイル読み込み
dataset <- read.csv(“ファイル名", header=T)
# データがインポートされたことを確認
head(dataset,10)
データの読み込みの実施
基本統計量とは
11
基本統計量とは、標本(母集団から抜き出したデータの一部)の分布の特徴を、
代表的に表現する統計学上の以下の値を指します。
代表値としては、
→平均
→分散
→標準偏差
→中央値
→四分位点
→最大値
→最小値
→最頻値
が主に用いられます。
母集団
標本1
標本2
標本3
母集団 ≒ 標本
基本統計量の算出
12
summary(data.df)
summary関数
数値データは、Min.(最小値)、1st Qu.(第1四分位)、Median(中央値)、Mean(平均値)、3rd Qu.(第3四分位)、
Max.(最大値)の計算結果が表示され、カテゴリデータはカウント数が表示されます。
# 分散
var()
# 標準偏差
sd()
# 四分位偏差
IQR()
その他代表値を算出
グラフ化
13
boxplot(dataset$cnt,col="blue")
箱ひげ図 ヒストグラム
hist(dataset$cnt,col="blue")
グラフのコピーや
画像ファイルでの保存もできます
ライブラリを使う
14
ライブラリ(ggplot2)を使って、美しく、きれいに、わかりやすく!
install.packages("ggplot2")
library(ggplot2)
# seasonごとに分けて出力する
ggplot(data=dataset, aes(y=cnt, x=season,fill=season)) + geom_boxplot(alpha=1,colour="gray30")
ggplot(data=dataset, aes(x=cnt)) + geom_bar(stat = "bin", fill="blue",colour="black")
箱ひげ図 ヒストグラム
シェア自転車利用者数予測(重回帰分析)
15
教師データ・テストデータ作成
ランダム抽出で教師7割:テスト3割のデータを作成
モデル作成(変数選択も実施)
lm関数を使いモデル作成、stepAICを使い変数選択
テストデータでのモデル評価
predict関数を使い、テストデータで予測し、精度を確認
下記の通りに分析してみます。
7割 3割
モデル
モデル
モデル
評価
3割
教師データ・テストデータの作成
16
# 教師データ ランダム抽出
train.data <- dataset[sample(nrow(dataset), floor(nrow(dataset)*0.7)),]
# テストデータ 教師データ以外のデータを抽出
test.data <- dataset
test.data <- test.data[!(rownames(test.data) %in% rownames(train.data)),]
ランダム抽出
モデル作成
17
train.data.lm <- lm(cnt~., data=train.data)
model1 <- stepAIC(train.data.lm)
summary(model1)
lm関数を使ってモデル作成
自由度調整済み決定係数
切片
偏回帰係数
P値気温
天気(小雨)
天気(雨・雪)
重回帰分析
𝒀 = 𝒂 𝟏 𝒙 𝟏 + 𝒂 𝟐 𝒙 𝟐 + 𝒂 𝟑 𝒙 𝟑 + 𝒃
偏回帰係数 切片
シェア自転車利用者数予測(重回帰分析)
18
教師データ・テストデータ作成
ランダム抽出で教師7割:テスト3割のデータを作成
モデル作成(変数選択も実施)
lm関数を使いモデル作成、stepAICを使い変数選択
テストデータでのモデル評価
predict関数を使い、テストデータで予測し、精度を確認
下記の通りに分析してみます。
7割 3割
モデル
モデル
モデル
評価
3割
モデル評価
19
# モデル評価
predict(model1, newdata=test.data)
predict関数を使ってモデル評価
モデル評価
20
real <- data.frame(test.data$cnt)
pred <- round(predict(model1, newdata=test.data), 3)
compare <- data.frame(real, pred, pred-real, real/pred)
colnames(compare) <- c("実績値", "予測値","残差","実績値/予測値")
compare
predict関数を使ってモデル評価
write.csv(compare,file = "result.csv")
CSV出力も可能です
やってみたこと
21
#ファイル読み込み
dataset <- read.csv("bike.csv", header=T)
#データがインポートされたことを確認
head(dataset,10)
# 必要なパッケージをインストール
#install.packages("MASS")
#install.packages("ggplot2")
#install.packages("dplyr")
#install.packages("GGally")
# 必要なライブラリを読み込み
library(MASS)
library(ggplot2)
library(scales)
library(dplyr)
library(GGally)
library(dplyr)
#カテゴリーデータをファクター型に変換
dataset.cat <- dataset %>% select(season:weathersit) %>% mutate_each(funs(factor))
dataset <- cbind(dplyr::select(dataset, cnt:hum, windspeed), dataset.cat)
#基本統計量
summary(dataset)
#分散
var(dataset$cnt)
#標準偏差
sd(dataset$cnt)
#四分位偏差
IQR(dataset$cnt)
#グラフ化
boxplot(dataset$cnt,col="blue")
hist(dataset$cnt,col="blue")
#ライブラリを使った作図
ggplot(dataset, aes(y=cnt, x=season,fill=season)) +geom_boxplot(alpha=1,colour="gray30")
ggplot(data=dataset, aes(x =cnt)) + geom_bar(stat = "bin", fill="blue",colour="black") + facet_wrap(~season, ncol =
1)
#モデル作成
#教師データ ランダム抽出
train.data <- dataset[sample(nrow(dataset), floor(nrow(dataset)*0.7)),]
#テストデータ 教師データ以外のデータを抽出
test.data <- dataset
test.data <- test.data[!(rownames(test.data) %in% rownames(train.data)),]
train.data.lm <- lm(cnt~., data=train.data)
model1 <- stepAIC(train.data.lm)
summary(model1)
# モデル評価
predict(model1, newdata=test.data)
real <- data.frame(test.data$cnt)
pred <- round(predict(model1, newdata=test.data), 3)
compare <- data.frame(real, pred, pred-real, real/pred)
colnames(compare) <- c("実績値", "予測値","残差","実績値/予測値")
compare
write.csv(compare,file = "result.csv")
■基本統計量の算出
■グラフ作成
■利用者予測
その他 タイタニック生存予測(決定木)
22
性別
年齢
兄弟、配偶者の数
親子の数
階級
乗船料
年齢
女性男性
年齢
乗船料
Rを使って高度な統計解析にトライしてみましょう
23
• 回帰分析
• ロジスティック回帰
• 決定木
• クラスタリング
• 主成分分析
• ニューラルネットワーク
などなど
24
ご清聴いただきありがとうございました!

Mais conteúdo relacionado

Semelhante a 20181114 r

ビジネス活用事例で学ぶデータサイエンス入門 #2
ビジネス活用事例で学ぶデータサイエンス入門 #2ビジネス活用事例で学ぶデータサイエンス入門 #2
ビジネス活用事例で学ぶデータサイエンス入門 #2
you shimajiro
 
トレジャーデータ流,データ分析の始め方
トレジャーデータ流,データ分析の始め方トレジャーデータ流,データ分析の始め方
トレジャーデータ流,データ分析の始め方
Takahiro Inoue
 
Stat r 9_principal
Stat r 9_principalStat r 9_principal
Stat r 9_principal
fusion2011
 
「データサイエンティスト・ブーム」後の企業におけるデータ分析者像を探る
「データサイエンティスト・ブーム」後の企業におけるデータ分析者像を探る「データサイエンティスト・ブーム」後の企業におけるデータ分析者像を探る
「データサイエンティスト・ブーム」後の企業におけるデータ分析者像を探る
Takashi J OZAKI
 
おしゃスタ@リクルート
おしゃスタ@リクルートおしゃスタ@リクルート
おしゃスタ@リクルート
Issei Kurahashi
 
【技術情報協会】人工知能を使ったR&D業務効率化・生産性向上のシステム作り
【技術情報協会】人工知能を使ったR&D業務効率化・生産性向上のシステム作り【技術情報協会】人工知能を使ったR&D業務効率化・生産性向上のシステム作り
【技術情報協会】人工知能を使ったR&D業務効率化・生産性向上のシステム作り
Hajime Fujita
 

Semelhante a 20181114 r (20)

ビジネス活用事例で学ぶデータサイエンス入門 #2
ビジネス活用事例で学ぶデータサイエンス入門 #2ビジネス活用事例で学ぶデータサイエンス入門 #2
ビジネス活用事例で学ぶデータサイエンス入門 #2
 
tut_pfi_2012
tut_pfi_2012tut_pfi_2012
tut_pfi_2012
 
基本統計量について
基本統計量について基本統計量について
基本統計量について
 
コース導入講義(荒木)
コース導入講義(荒木)コース導入講義(荒木)
コース導入講義(荒木)
 
データを整理するための基礎知識
データを整理するための基礎知識データを整理するための基礎知識
データを整理するための基礎知識
 
2016年12月18日AITC女子会 データ分析勉強会第7回「Rを使ったデータ分析の基礎・分析手法について知る」
2016年12月18日AITC女子会 データ分析勉強会第7回「Rを使ったデータ分析の基礎・分析手法について知る」2016年12月18日AITC女子会 データ分析勉強会第7回「Rを使ったデータ分析の基礎・分析手法について知る」
2016年12月18日AITC女子会 データ分析勉強会第7回「Rを使ったデータ分析の基礎・分析手法について知る」
 
DDD読書会 アナリシスパターン
DDD読書会 アナリシスパターンDDD読書会 アナリシスパターン
DDD読書会 アナリシスパターン
 
トレジャーデータ流,データ分析の始め方
トレジャーデータ流,データ分析の始め方トレジャーデータ流,データ分析の始め方
トレジャーデータ流,データ分析の始め方
 
Measuring Metrics
Measuring MetricsMeasuring Metrics
Measuring Metrics
 
ggplot2によるグラフ化@HijiyamaR#2
ggplot2によるグラフ化@HijiyamaR#2ggplot2によるグラフ化@HijiyamaR#2
ggplot2によるグラフ化@HijiyamaR#2
 
Stat r 9_principal
Stat r 9_principalStat r 9_principal
Stat r 9_principal
 
データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7
データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7
データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7
 
「データサイエンティスト・ブーム」後の企業におけるデータ分析者像を探る
「データサイエンティスト・ブーム」後の企業におけるデータ分析者像を探る「データサイエンティスト・ブーム」後の企業におけるデータ分析者像を探る
「データサイエンティスト・ブーム」後の企業におけるデータ分析者像を探る
 
おしゃスタ@リクルート
おしゃスタ@リクルートおしゃスタ@リクルート
おしゃスタ@リクルート
 
Tableauデータサイエンス勉強会(ユーザ会)とは
Tableauデータサイエンス勉強会(ユーザ会)とはTableauデータサイエンス勉強会(ユーザ会)とは
Tableauデータサイエンス勉強会(ユーザ会)とは
 
2016年11月19日 AITC女子会 データ分析勉強会第6回「Rを使ったデータ分析の基礎(入門編)」
2016年11月19日 AITC女子会 データ分析勉強会第6回「Rを使ったデータ分析の基礎(入門編)」2016年11月19日 AITC女子会 データ分析勉強会第6回「Rを使ったデータ分析の基礎(入門編)」
2016年11月19日 AITC女子会 データ分析勉強会第6回「Rを使ったデータ分析の基礎(入門編)」
 
理科教育学研究のための統計分析入門
理科教育学研究のための統計分析入門理科教育学研究のための統計分析入門
理科教育学研究のための統計分析入門
 
dplyr と purrrを用いたデータハンドリング
dplyr と purrrを用いたデータハンドリングdplyr と purrrを用いたデータハンドリング
dplyr と purrrを用いたデータハンドリング
 
All Analytics Championship Powered by SAS ~データサイエンス・アドベンチャー杯~Guideline
All Analytics Championship Powered by SAS ~データサイエンス・アドベンチャー杯~Guideline All Analytics Championship Powered by SAS ~データサイエンス・アドベンチャー杯~Guideline
All Analytics Championship Powered by SAS ~データサイエンス・アドベンチャー杯~Guideline
 
【技術情報協会】人工知能を使ったR&D業務効率化・生産性向上のシステム作り
【技術情報協会】人工知能を使ったR&D業務効率化・生産性向上のシステム作り【技術情報協会】人工知能を使ったR&D業務効率化・生産性向上のシステム作り
【技術情報協会】人工知能を使ったR&D業務効率化・生産性向上のシステム作り
 

Mais de Yutaka Terasawa (12)

20190306オープニング
20190306オープニング20190306オープニング
20190306オープニング
 
時系列データの扱い方
時系列データの扱い方時系列データの扱い方
時系列データの扱い方
 
転移学習やってみた!
転移学習やってみた!転移学習やってみた!
転移学習やってみた!
 
Google Colaboratoryを使って、MNISTでディープラニング!
Google Colaboratoryを使って、MNISTでディープラニング!Google Colaboratoryを使って、MNISTでディープラニング!
Google Colaboratoryを使って、MNISTでディープラニング!
 
20181114 TDAを使ったタイタニック生存者分析
20181114 TDAを使ったタイタニック生存者分析20181114 TDAを使ったタイタニック生存者分析
20181114 TDAを使ったタイタニック生存者分析
 
20180717 grid
20180717 grid20180717 grid
20180717 grid
 
20180717 unsupervised learning
20180717 unsupervised learning20180717 unsupervised learning
20180717 unsupervised learning
 
20180717 zeal
20180717 zeal20180717 zeal
20180717 zeal
 
20180717 the average
20180717 the average20180717 the average
20180717 the average
 
20180717 opening
20180717 opening20180717 opening
20180717 opening
 
Wg for ai_dev_ops_20180713
Wg for ai_dev_ops_20180713Wg for ai_dev_ops_20180713
Wg for ai_dev_ops_20180713
 
Wg for edu_20180713
Wg for edu_20180713Wg for edu_20180713
Wg for edu_20180713
 

Último

Último (7)

NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 

20181114 r