すだちキャンパス

すだちキャンパス

やってみたこと、学んだことなどのメモ。

octaveでフィッティングしてみた(準備編)

タイトルの通り、octaveでフィッティングする機会があったのでやってみました。まずは準備編です。

ちなみに、フィッティングとは、回帰分析などを用いてデータなどに最もよくあてはまる曲線を求めることです。

0.octaveとは

MATLABと互換性のある、数値解析のためのソフトです。無料で使えて便利です!

ここ からダウンロードできます。(Mac homebrewを使うのが一番楽かも)

今度まとめを兼ねてoctaveおすすめ記事を書きたいですね・・・。

 

1.パッケージを入れる

フィッティングをするのに、leasqr関数を使いたいので、その関数が入っているパッケージをダウンロードします。何も理解していませんが、これを使うとフィッティングができるらしいです。ちなみに、パッケージはOctave-Forge を利用します。

leasqr関数はoptimというパッケージファイルに入っていますが、optimを使うにはstructとmiscellaneousが必要で、miscellaneousはgeneralが必要です。つまり、general,struct,miscellaneousをまずダウンロードしてからoptimをダウンロードします。

octave上で、

> pkg install -forge パッケージファイル名(optimなど)

とすればokです。

ちなみに、パッケージを使う時はロードが必要です。

> pkg load パッケージファイル名

でロードできます。

2.データを整理する

ここは正直フィッティングには関係ないですが、せっかくなのでメモとして残しておきます。

今回行った実験では、データが多くのファイルに分かれていて、まずそれをまとめる必要がありました。そこで今回は、フォルダの中のファイルを一気に開いて、それらを行列にまとめるということを行いました。

まず、dir を使ってファイル内の拡張子が.txtのものを"files"というリストにしました。そして、files(1).nameなどとするとそのファイルの名称を返してくれるので、それを利用してファイルを開きました。

ファイルが開けたら、あとは欲しい列を取ってきて繋げていけば、データをまとめることができます。

files=dir("*.txt")

f1=load(files(1).name)



C1=load(files(1).name)

C=[C1(:,2)]

for i=2:32

A=load(files(i).name)

C=[C A(:,2)]

endfor

それでは、次回はいよいよフィッティングに入りたいと思います。↓

 

www.siketai.org