Correlation Coefficient

Rで相関係数を測る題材として、ジェスチャーの軌跡のデータを使ってみました。ユーザのなんらかの振る舞いを識別する意図ですが、データが取得しやすいマウスの動きの差異に着眼しました。
a1, a2: 円形の描画
b1, b2: 三角の描画
あえて近い動きにトライしました。

> a1<-read.table(“a1.csv”, sep=”,”)
> a2<-read.table(“a2.csv”, sep=”,”)
> b1<-read.table(“b1.csv”, sep=”,”)
> b2<-read.table(“b2.csv”, sep=”,”)

それぞれplotしてみます。

a1.csv

a2.csv

b1.csv

b2.csv

データ数を揃えて、単純にx,y別々に相関係数を測ってみました。

> dim(a1)
[1] 63 3
> dim(a2)
[1] 106 3
> dim(b1)
[1] 75 3
> dim(b2)
[1] 106 3

> a1x<-approx(a1[,1], a1[,2],n=100)
> a1y<-approx(a1[,1], a1[,3],n=100)
> b1x<-approx(b1[,1], b1[,2],n=100)
> b1y<-approx(b1[,1], b1[,3],n=100)

> a2x<-approx(a2[,1], a2[,2],n=100)
> a2y<-approx(a2[,1], a2[,3],n=100)
> b2x<-approx(b2[,1], b2[,2],n=100)
> b2y<-approx(b2[,1], b2[,3],n=100)

> cor(a1x$y, a2x$y)
[1] 0.9905204
> cor(a1y$y, a2y$y)
[1] 0.9929844
> cor(b1x$y, b2x$y)
[1] 0.8621487
> cor(b1y$y, b2y$y)
[1] 0.9720394
> cor(a1x$y, b1x$y)
[1] 0.8606694
> cor(a2x$y, b2x$y)
[1] 0.9010704
> cor(a1y$y, b1y$y)
[1] 0.8947821
> cor(a2y$y, b2y$y)
[1] 0.9067105

だいたいa1とa2,b1とb2は近い関係になっていますが、bのxだけ期待と違いました。
相関が近い中の識別には、もうすこし判定につかう要素を増やす必要がありそうです。

マウス操作のデータ取得には、Processingを使いました。

About

Categories: 未分類 タグ: