Translate

pythonを学習して基本が何となくわかった頃にRも使うことになった。chatGPTを介して変換してTry&Errorで学習効率が爆上がりだった件

 動作分析などの解析をやったりビックデータを扱ったりすることが多くなってくるとpythonのSciPyモジュールだけでは少し足りなくなってきてしまうことがあります。特に複雑な統計解析をする上でRを使わざる得ないケースもあり、私もその一人でした。

データの読み取りからデータセットの作成の超基本的なところから一から体系的に勉強するのはかなり大変と感じていたので、今回は目標を①因子分析を行う、②構造方程式モデリングを行う、この二つの処理が最低限出来るようにデータセットを作るところをChatGPTを駆使してやってみた過程を紹介していきます。

いわゆるコーディングをChatGPTに手伝ってもらうためのプロンプトのコツといった部分になるかなと思います(あくまで個人的な経験談です)

pythonで今までやっていた処理をRに変換するのに、コードを直接ぶち込んで変換してと言うのも一つの手だった。



今回のケースは最低限一つのプログラミング言語のデータ型を何かしらの形で記述できることが前提になります。また筆者はChatGPT-Plusには課金しているのでo1までは使えますが、今回のケースは4oに質問したというケースで書いています。

私の場合にはpythoだったので、pandasでcsvファイルを読み取って各データの定義や処理を書いています。

chatGPTへの指示としては「今張った部分のpythonコードをRの形式で変換して」、こんな感じで打っています。コピペしたpythonの処理はcsvデータの読み取り~変数定義の部分です。

結果としては全く問題なく遂行することができました。そのあとはpythonからR言語に変換してもらったコードベースで質問を続けます。

次いでに因子分析の質問もしてみた。回転方法も指示してヒートマップの視覚化も問題なく可能。

ついでだったので、Rの因子分析の部分についてもやってみてもらいました。指示は細かくするのが良いと思います。私の場合だと「因子数7でpromax回転で因子分析をやってくれ、そしてその因子負荷量をヒートマップで視覚化してくれ」。

こんな感じのプロンプトで問題なく視覚化の出力ができました。この方法でかなり良いと思った点としては、今回は因子分析を例にしますが、因子分析の結果が保存された構造化されたファイルからどうやって必要な結果の部分を取り出すのかが一目でわかるという部分が作業効率を一気に上げていると感じました。

参考になるグラフの画像ファイルがあれば、その通りに図表を成形してくれる

例えばこれはRに限ったケースではないのですが、作りたいグラフのイメージやサンプル画像さえあれば、ChatGPTの添付ファイルに入れてしまって「○○のデータから添付ファイルのようなデータの見せ方でグラフを作ってみて」と指示してやると、完璧ではありませんが、比較的近いものが生成されます。

ここからいらない部分の処理や追加で加えたい部分などを指示してやれば、狙ったグラフがとんでもない速さで作ることができます。特に今回のケースのようにpython→Rみたいな感じでのなじみのないプログラミング言語でのグラフ生成などはChatGPTを頼ったほうがよさそうです。

構造方程式モデリングについても作例は教えてくれる。結果の解釈の相談相手にも

せっかくなので構造方程式モデリングについても完全に初見でしたが、ChatGPTを使ってやってみた感じの手ごたえや気づいた点について備忘録を残しておきます。

まず先程のグラフ生成の例と同じように、目標となる因果構造をパワーポイントで配置してpngファイルで保存してChatGPTにアップロードして、「添付ファイルのような構造方程式を作ってみてくれ」と指示してみます。

そうするとひな形をR言語の形式で出力してくれました。実際に自分で調べて改めて学習してみて確認してみましたが、いい感じのひな形を作ってくれます。またモデルの妥当性検証のための結果のサマリーをコピペして改善点や問題点の指摘のスクリーニングの話し相手としてのもうまく使っていけそうです。

何はともあれ、時にはエラーを出しながら、結果を照らし合わせて、膨大なサマリーの解釈のスクリーニングにはChatGPTを駆使するというのが、賢い使い方になりそうです。

あくまでも補助ツールとして使うのがミソで、結果の解釈すべてをChatGPTに委ねないという点をしっかり考慮すれば、とんでもなく生産性が上がるツールであることは間違いないです(個人の感想です)。