データのお砂場(78) R言語、stackloss、オストワルト法の「逆効率」データとな

Joseph Halfmoon

今回のデータセット、stackloss名と別に、stack.xとかstack.lossという名でも呼び出せるみたいです。独立変数3個がstack.xで、従属変数1個がstack.loss。stacklossには「もれなく」両方入っているのでこれをロードすりゃええ、というこってす。今回のデータはなんだ、無機化学?

※「データのお砂場」投稿順Indexはこちら

R言語所蔵のサンプルデータセットをABC順(大文字)優先で拝見させていただいております。

今回のサンプルデータセット

今回のサンプルデータセットの解説ページが以下に。

Brownlee’s Stack Loss Plant Data

アンモニア(NH3)から硝酸(HNO3)を工業的に生成するプロセスの収率(の逆のロス)のデータらしいデス。21日間、1日1データ。稼働率?らしきものを代表するAir Flow、吸収塔を冷却するために循環している水の温度である Water Temp、循環している酸の濃度(%表現から50を引いて10倍したもの)であるAcid Conc.という3指標が独立変数で、反応プロセスに投入されたもののそのまま出てきてしまうアンモニア(のパーセンテージを10倍したもの)がstack lossという従属変数となるらしいです。プロセスの効率が良ければstack lossは低くなるような指標だと。

すんません、私、無機化学は素人なので、このアンモニアから硝酸を作るプロセスが受験生には必須なお題であるとは知りませなんだ。調べたら多数ヒット。中でも分かりやすいと思ったのが以下です。あざーす。

硝酸の工業的製法「オストワルト法」(触媒・覚え方・仕組み・反応式など)

3段階の反応(触媒あり)を経て反応が進むのはカッコいいっす。個人的には登場する

countercurrent absorption tower

に興味を持ちましたです。absorption tower(吸収塔と訳せばよいのかな)は、配管がのたくる?プラント内では目につく構造物じゃないかと思います。プラント萌え?今回のアンモニアから硝酸のプロセスの「吸収塔」も探してみたのですが、ちょっとそのものズバリは見つけられませんでした。でも、クラボウ エンジニアリング部様の以下のページを拝見すると、そこはかとなく「吸収塔業界」の雰囲気伝わってきますです。

技術情報 湿式排ガス処理装置

まずは生データ

本題のR言語によるデータ処理の練習に戻ります。生データをロードすると以下のようなフツーのdata.frameです。4変数、21オブザベーション(1日1データってことね。)stacklossRawData

R Studioの変数ウインドウをいると、別名のサンプルデータセットである stack.xとstack.loss も同時に登場してました。stacklossデータフレームの最初の3変数をまとめたものが stack.x で stacklossデータフレームの中のstack.loss変数だけを取り出したものが stack.loss だと。stacklossRawData2

データの塩梅をみるためにとりあえず summaryとってみました。stacklossSummary

まあ、ボチボチ?

とりあえずデータフレーム全体をplotに渡してやるとこんな感じ。4変数なので、pairs()のプロットが現れましたです。stacklossPlot

上をみると、独立変数(左上の3つ)と従属変数(stack.loss)の間に線形な関係がありそうな?ホントか。

処理例

今回のデータセットには処理例あり。ただし実質1行です。別名データセットである、stack.loss と stack.xを対象にlm(線形な回帰分析)をかけるもの。これで上のグラフで感じた関係があるのか分かるってこと?stacklossLMsummary

上の赤線で囲われたEscimateのところの係数を使えば、重回帰式が書き表せるってもんです。でもね、黄色のマーカ部Prのところをみると、Air.FlowとWater.Tempはフツーな信頼区間で「帰無仮説を棄却」できるけれども、Acid.Concに関しては「関係ねえ」って可能性も否定できんということかい。。。知らんけど。

勝手にAcid.Concのノケモノにして計算しなおしてみた

処理例の結果は上記のようだったので、勝手にAcid.Concだけノケモノにして計算しなおしてみました。こんな感じ。lm2

上記結果を踏まえると以下の式で回帰できると。ホントか?

Stackloss = 0.6712 * Air.Flow + 1.2954 * Water.Temp – 50.3588

そこで登場するのが以下であります。メンドクセー。

回帰診断図 (diagnostic plots)

以前から何度となく登場するものの、イマイチよく分かっておらないもの。ただし描きかたは機械的なので覚えました。

opar <- par(mfrow = c(2, 2), oma = c(0, 0, 1.1, 0), mar = c(4.1, 4.1, 2.1, 1.1))
plot(lm2.stack)
par(opar)

描いたグラフが以下に。

lm2DiagnosticPlots

グラフ上の赤線が「回帰式」からもとまる当てはめ値だそうな。左上の残差のグラフでは、まあまあ雰囲気出ているけれど、4番、3番、21番のデータがかなり外れておるのが分かります。左下は残差の絶対値の平方根からもとまるScale-Locationプロットだとか。このグラフでは上の方にいるのがヤバイ奴ららしいです。ここでも21番、4番、3番が外れだと。

右上のNormal Q-Qプロットは、バラツキが正規分布に近ければ点線で描いてある直線に載ってくるらしいっす。ここでは21番だけが大きく外れとりますな。

最後右下のCookの距離プロットでは、0.5と枠外に書かれている点線の外側にくるとCookの距離が遠い、つまりヤバイってことみたいデス。やっぱり21番ヤバイぞ。

なんだかな~よくわからんな。でも無機化学の世界を垣間見られて良かった?

データのお砂場(77) R言語、sleep、スチューデントの睡眠データとな へ戻る

データのお砂場(79) R言語、state、米国50州のFacts and Figures へ進む