統計分析

履歴〜2015年11月22日にSTLを施して2週間後

2015年11月22日に掲載した「Rで周波数解析や成分分解」で、周期240と周期80でSTLを実行した。それから凡そ2週間経過したので、再度解析した結果を載せておく。データは直近の2015年12月7日まで。◎周期80での結果 前回のエントリーでは、周期80の結果を見て次…

続 〜 周期変動部分の分解

「Rで周波数解析や成分分解」や「RでstatsパッケージのSTLによる結果から周期変動部分、トレンド部分、残差部分を取り出す」で取り扱ったことを違うデータでやってみる。データは「2つのデータの相関、ccfなど」で使った、fdataとvi。まずはviについて。 >vi…

2つのデータの相関、ccfなど

今回扱うのは次の2つのデータ。tdataのグラフ。 viのグラフ。 期間は2006/1/6〜2015/11/20のデータ。相関。 > cor(tdata,vi) [1] -0.3088769 CCF。 > ccf(tdata,vi) 次に、tdataを次のfdataと置き換える。 相関。 > cor(fdata.close.ts,vi) [1] -0.3742764 C…

Rでパーセンタイルを求める

ある時系列xのパーセンタイルを求めたい。 quantile関数を使用すれば良い。次のようなデータを使用する。 > summary(x) Min. 1st Qu. Median Mean 3rd Qu. Max. 1.233 36.030 49.950 50.110 64.430 99.490 パーセンタイルを求める。 > quantile(x,c(0,0.1,0.…

RでstatsパッケージのSTLによる結果から周期変動部分、トレンド部分、残差部分を取り出す

前回「Rで周波数解析や成分分解」で、データにSTLを作用させてその結果から今後3ヶ月のシナリオを考えた。 その時思ったことだが、周期変動部分と残差部分の動きが似ている気がした。 そこで、それら2つの相関を計算しようと思ったが、stlの結果から各要素の…

Rで周波数解析や成分分解

今回は、まずこんなデータを考えてみる。 期間は2006/1/4〜2015/11/20。Rのspec.pgramを使用してピリオドグラムを求める。 spec.pgramはデフォルトでは対数グラフを作成するが、今回は対数化は行わないので、log="no"を指定する。 > spec.pgram(y,log="no") …

Rでar関数や残差分析などの復習 〜 続き

前回「Rでar関数や残差分析などの復習」の続き。 今回は、元データを前半と後半に分けて、前半のデータから後半のデータを予測してみる。 > f1min_20151112_Day_0900_1230<-read.csv("f1min_20151112_Day_0900_1230.csv") > f1min_20151112_Day_0900_1230.cl…

Rでar関数や残差分析などの復習

前回「Rのts.arima関数を使ってみる」を書いてから、5日経過。 すでに色んなことを忘れているwww。1日開けば殆ど忘れます。SE的にすべきことが多いので。今回は、まずRの使い方の復習から。 >setwd("D:\\dev\\DataAnalysis\\Data") >f1min_20151112_Day<-…

Rのts.arima関数を使ってみる

今回の目的は、Rの使い方に慣れる・Rの使い方思い出すこと。 従って、適切なモデリングかどうかといったことは気にしない。 1.CSVからデータを読み込む 2.時系列データへ変換する 3.とりあえず、ts.arimaを使用してみる 4.とりあえず、ts.arimaで推…

頭のリフレッシュ 〜 時系列分析4

前回「頭のリフレッシュ 〜 時系列分析3」では、データを加法モデルに分解して遊んでみた。今回は、モデルについて。下図のようなデータを考える。 如何にも単純なグラフである。自己相関はこんな感じ。 > acf(ar1.ts, plot="FALSE") Autocorrelations of s…

頭のリフレッシュ 〜 時系列分析3

前回「頭のリフレッシュ 〜 時系列分析2」では、相互相関で遊んでみた。今回はその時扱ったデータの差分について考えてみる。 Rでプロットするとこんな感じ。なんだか周期的に、-50くらいへ下振れするようなので、周期性を調べてみる。 次の加法モデルを仮…

頭のリフレッシュ 〜 時系列分析2

前回「頭のリフレッシュ 〜 時系列分析1」の続き。前回は1つの時系列データについて、自己相関係数とコレログラムを作ってみた。 今回は2つの時系列データについて考えてみる。とりあえずRでCSVのデータを書いてみた。 見づらいが、気にしないd(´∪`○)…

頭のリフレッシュ 〜 時系列分析1

ここ1年、システムの仕事ばかりしている。しかも、運用・保守が殆ど。 使わない知識は自ずと忘れていく。そこで息抜きに時系列分析について非常に簡単に整理しておく。 難しいことには触れないので、レベルは高校3年生〜大学1年生といったところ。 下図は…

【Rによるデータサイエンス】非線形判別分析

「【Rによるデータサイエンス】線形判別分析」と「【Rによるデータサイエンス】線形判別分析 〜 結果の検証」で線形判別分析について勉強してきた。線形判別分析は、等分散の制約条件*1があることと、大量の変数には向いていない短所がある。そこで次に非線…

【Rによるデータサイエンス】線形判別分析 〜 結果の検証

「【Rによるデータサイエンス】線形判別分析」では、線形判別分析がどのような分析手法なのかを簡単に勉強した。今回は、線形判別分析を実施する上での制約と結果の確認方法について勉強する。◎線形判別分析の制約 線形判別分析は、複数の群にデータを分類し…

【Rによるデータサイエンス】線形判別分析

◎本題に入る前に1 余談・・・。 最近、徐々に内容が難しくなってきていて、自分の予備知識の足りなさを痛感している。ただ、今回の「Rによるデータサイエンス」の初読の目的は「やった感+写経による学習+概要を把握すること」なので、わからないことがあ…

【Rによるデータサイエンス】非線形回帰分析 〜 平滑化回帰

■平滑化回帰 人口データを作成する。 > x1<-seq(-10,10,0.1) > y1=50*sin(x1)+x1^2+10*rnorm(length(x1),0,1) > plot(x1,y1) データy1を目的変数、x1を説明変数とした非線形回帰モデルを考える。◎多項式回帰モデル 多項式回帰モデルで近似できないかを考える…

【Rによるデータサイエンス】非線形回帰分析 〜 一般化線形モデル

一般化線形モデルとは・・・。 wikipediaから引用したものが次。 一般化線形モデル (いっぱんかせんけいモデル、英:Generalized linear model、GLM)は、正規分布以外の分布を扱えるように線形回帰モデルを拡張したモデル。 なるほど!たしかに、これまで「【…

【Rによるデータサイエンス】非線形回帰分析 〜 多項式回帰

前回「【Rによるデータサイエンス】非線形回帰分析 〜 ロジスティック回帰」では非線形回帰分析の方法の1つとしてロジスティック回帰について勉強した。今回は2つ目の方法「多項式回帰」について勉強する。次のようにして作成した人工データを使用する。 > x…

【Rによるデータサイエンス】非線形回帰分析 〜 ロジスティック回帰

非線形回帰分析とは。。。 線形回帰分析以外のことらしいw。 まぁそこは深く突っ込む気はないので、その程度に捉えておく。さて、いきなりケーススタディ。◎ロジスティック回帰 カラーテレビの普及率のデータを打ち込む。 > 年度<-c(1966:1984) > 普及率<-c…

【Rによるデータサイエンス】線形回帰分析 〜 変数・モデルの選択

回帰モデルの推定は、回帰係数を求めることだが、求めた回帰モデルの決定係数が悪かったり、残差分析の結果が悪い場合は適切なモデルとはいえない。そのため、変数を入れ替えながら回帰モデルを構築し、より当てはまりが良いモデルを選択する。それでは、良…

【Rによるデータサイエンス】線形回帰分析 〜 重回帰分析における相互作用

「【Rによるデータサイエンス】線形回帰分析 〜 重回帰分析」で重回帰分析について簡単に勉強した。そこでは、説明変数の間の関連性は考えずに、目的変数と説明変数間の相関関係のみを用いた。 ところが、説明変数同士にも相関関係が有る場合もあるだろう。…

【Rによるデータサイエンス】非線形回帰分析 〜 加法モデル

◎定義 加法回帰モデル(additive regression model)とは。。。 ・線形回帰モデルおよび関数nlsによる非線形回帰モデルは、加法モデルの特殊なケースと考えられる。 ・が全て線形関数の場合は、線形回帰モデルとなる。一般化線形モデルを加法モデル化したとき…

【Rによるデータサイエンス】線形回帰分析 〜 線形単回帰分析

【定義】 回帰分析とは。。。 回帰分析とは、説明変数を用いて、目的変数を説明する統計モデルをデータから求めるデータ分析の方法。 回帰分析には2種類あり、 直線関係でモデル化する回帰分析を線形回帰分析と呼ぶ。 非線形関係でモデル化する回帰分析を非…

【Rによるデータサイエンス】自己組織化マップ(SOM)

【定義】 自己組織化マップとは。。。 ニューラルネットワークの1種で、目的変数を持たない教師なし学習アルゴリズムのこと。 高次元データを2次元平面上へ非線形射影するデータ解析手法。 ニューラルネットワークとは。。。 Wikipediaによると次のようにあ…

【Rによるデータサイエンス】クラスター分析(つづき) 〜 非階層的クラスター分析

「【Rによるデータサイエンス】クラスター分析」では、クラスター分析の定義から入り、階層的クラスター分析のケーススタディまで行った。 今回は、階層的クラスター分析が適さない場合に使用する、非階層的クラスター分析についてメモする。 まず、階層的ク…

【Rによるデータサイエンス】線形回帰分析 〜 重回帰分析

前回は線形回帰分析のうち、線形単回帰分析について勉強した。今回は、重回帰分析について勉強する。 重回帰分析とは、説明変数が複数である回帰分析のこと。 次のように表現できることを想定する。 回帰分析で求める回帰式は次。 説明変数のデータをX、目的…

【Rによるデータサイエンス】クラスター分析

【定義】 クラスター分析とは。。。 ざっくり言うと次のようになる。 クラスター分析とは、データのパターンが似ている個体を同じグループにまとめる分析方法である。 簡単そう! でも、データのパターンの定量的定義はどうするの?とか、パターンの違いはど…

【Rによるデータサイエンス】多次元尺度法(つづき) 非軽量MDS

「【Rによるデータサイエンス】多次元尺度法」の続き。前回は、多次元尺度法とは何かから初めて、計量MDSまで練習した。 今回は、計量MDSについてメモする。非計量MDSは、距離の性質を満たさない類似性データも視野に入れ、計量MDSを発展させたもの。 非計量…

【Rによるデータサイエンス】多次元尺度法

【定義】 多次元尺度法とは。 多次元尺度法(MDS:Multi-Dimensional Scaling)は、個体間の親近性データを2次元あるいは3次元空間に、類似したものを近く、そうでないものを遠くに配置する方法である。 ここでイキナリ分からない。 親近性データとは・・・。…