ユニット 6 / 11

化学データ分析と Python: pandas、化学量論とキャリブレーション

利益:

  • 言語モデルを口頭で推測するのではなく、実行された Python コードに基づいて数値結果を得る機能
  • 化学量論、キャリブレーション、およびデータ クリーニング コードを人工知能に書き込み、既知の答えを持つサンプルでテストする機能
  • 常に単位を指定し、その順序を確認することでデータ解析のミスを防ぐことが可能

化学には、計量、体積、吸光度、収量、濃度などの数値がたくさんあります。このデータを手動で処理すると時間がかかり、エラーが発生しやすくなります。 AI はここで 2 つの主要なサービスを提供します。(1) データを処理する Python コードを作成します。(2) そのコードを (コードを実行できる環境で) 実行して、決定的な結果を返します。重要な原則は、計算を言語モデルの「言葉による予測」ではなく、実行されたコードの出力に任せることです。言語モデル「142×0.05って何?」時々質問に間違って答えるかもしれません。しかし、彼が書く Python 行は常に正しく計算されます。本単元では、この考え方をもとにAIによる化学データ解析を学びます。

コードを口頭で推測するよりも優れているのはなぜですか?

言語モデルは、「起こり得る結果を予測する」ことによって算術を実行します。そのため、大きな数値や複数ステップの計算では間違っている可能性があります。一方、Python では、式 142 * 0.05 は決定的であり、常に 7.1 を返します。そこで戦略: AI に計算をさせず、計算のコードを出力してコードを実行します。そこで、AI の創造性 (コードの構築) を利用し、信頼できない側 (頭の演算) を無効にします。

ヒント: AI から数値結果を取得した場合は、「これを Python の行で表してください」と言います。コード自体は、アカウントを検証するだけでなく、アカウントを実行して確認することもできます。コードが表示されない場合は、その番号を信用しないでください。

化学における一般的なデータ分析タスク

  • 化学量論: モル、質量、限界試薬、理論収量、収率パーセントの計算。
  • 濃度: モル濃度、希釈 (M1V1 = M2V2)、ppm 換算。
  • 校正: ランベルト ベールの法則 (吸光度 ∝ 濃度) で校正線を引き、未知数を計算します。
  • データ クリーニング: パンダを使用した測定テーブルの読み取り、外れ値、平均/標準偏差のフラグ付け。
  • 視覚化: 検量線、反応速度グラフ、滴定曲線の描画。

ステップバイステップ: AI を使用した安全なデータ分析

  1. データの定義: 列、単位、サンプル行を明確に指定します。ユニットがない場合はAIが推測します。
  2. 結果ではなくコードを要求します。「これを計算する pandas/NumPy コードを書いてください」と言います。
  3. コードを実行する: 自分で実行するか、コードを実行できる環境でコードを実行します。
  4. 単純なケースでテストする: 答えがわかっている小さな例を使用してコードをテストします。
  5. 単位と次数のチェック: 結果の単位と大きさは物理的に妥当ですか?
  6. ドキュメント: コードと出力を実験ノートブック (ユニット 8) に追加します。

コピー可能な 4 つのテンプレート

1) 化学量論と収率:

反応: サリチル酸 (MA 138.12) + 無水酢酸 -> アスピリン (MA 180.16)。データ: 2.00 g のサリチル酸を使用し、無水酢酸が過剰でした。得られたアスピリン: 2.15 g。タスク: 理論収量と収率パーセントを計算する Python コードを作成します。分子量を変数として定義し、結果を単位で出力します。頭の中で計算しないでください。実行可能コードを与えるだけです。

2) ビール・ランベルト校正:

校正データ (濃度 mol/L -> 吸光度): 0.00 -> 0.02、0.02 -> 0.21、0.04 -> 0.40、0.06 -> 0.62、0.08 -> 0.79。未知のサンプルの吸光度: 0.50。タスク: numpy.polyfit を使用して線形キャリブレーションを実行し、傾き/切片と R^2 を計算し、未知の濃度を見つけます。 matplotlib を使用してデータをプロットし、直線を当てはめます。

3) パンダを使用した測定チャート:

CSV があります: columns = サンプル、weight_g、volume_mL、吸光度。タスク: pandas で読み取り、各サンプルの濃度 (g/L) を計算し、吸光度 < 0 の行を不正確としてマークし、グループの平均値と標準偏差を出力するコードを指定します。単位はコメント行で指定します。

4) 希薄化アカウントの検証:

0.5 M 原液から 0.05 M 溶液 100 mL を調製したいと考えています。タスク: M1V1=M2V2 で必要な在庫量を計算する Python 行を作成します。結果を mL で出力し、ロジック チェックで 10 倍の希釈が予想されることをコメントとして確認します。

弱いプロンプト / 強いプロンプト

弱い:

2グラムのサリチル酸からどのくらいのアスピリンが得られるでしょうか?

AIは頭から数字を出します。分子量を誤って記憶すると、結果が歪められ、どのように計算されたかが見えなくなります。

強い:

サリチル酸 MA=138.12、アスピリン MA=180.16、質量 =2.00 g、収率 100% と仮定します。タスク: アスピリンの理論質量を計算する Python コードを作成します。各ステップ (モル -> モル -> 質量) にコメントを付け、結果を g で出力します。

相違点: 指定された分子量、要求されたコード、コメントされたステップ、指定された単位。結果は正確であり、監査可能です。

口頭予測等の実行コード

サイズ

言語モデルの口頭予測

Python の実行

演算精度

変数、エラーが発生する可能性があります

決定的な、確かな

監査可能性

流産(流産の経緯は不明)

高 (コードが見える)

再現性

低い

高い

ユニット追跡

弱い

コード内で開いたままにすることができます

適切な使用

アイデア、建築構造

最終的な数値結果

ミニケース

ケース 1 — 口頭での算術エラー。学生が AI に「0.0145 mol × 180.16 g/mol?」と質問します。彼は尋ねた。 「2.72g」とAIは言いました。実際には2.61gです。学生が「これを Python で見せて」と言ったとき、YZ は 0.0145 * 180.16 と書き、結果は 2,612 でした。最初の口頭での反応は間違っていました。教訓: 非常に単純な乗算であってもコードを使用することをおすすめします。

ケース 2 — R² チェックインキャリブレーション。あるユーザーは、ランバート ビール校正を実行しました。 R² = 0.981 であることがわかります。 AIは「線形で信頼できる」と言ったが、最高濃度の点は線(飽和)より下にあった。ユーザーがグラフを見ると、最高点が線形範囲の外に移動し、R² は 0.999 に増加しました。教訓: R² だけでは十分ではありません。残差/プロットを参照してください。

ケース 3 — 単位の混乱。ある分析では、濃度が mg/L なのか g/L なのかは不明でした。 AIはg/Lを仮定しましたが、結果は1000倍も間違っていました。ユーザーが列単位を明示的に指定した場合に修正されました。教訓: AI は高価であると仮定して、常にユニットをショートチェンジしてください。

よくある間違い

  • 口頭番号に頼る。暗算を行うのではなく、常にコードをリクエストして実行します。
  • 単位の指定はしておりません。 mg/L と g/L、mL と L を混合すると、1000 倍の誤差が生じます。
  • コードをテストしていません。答えがわかっている小さな例でテストせずにビッグデータに適用する。
  • R² を唯一の基準として考慮します。非線形点をグラフィカルに表示せずに信頼する。
  • テスター試薬をスキップします。化学量論における制限試薬を決定せずに理論収量を計算します。
  • 顕著なステップの流出。測定値が有効数字 3 桁の場合、結果を 8 桁で報告します。
注意: AI が記述するコードであっても、欠陥がある可能性があります (間違った列名、間違った式)。コードを実行すると結果は確定的になりますが、コードが正しい値を計算していることを既知の例で確認する必要があります。

要約すると

  • 数値結果は、言語モデルの言葉による推測ではなく、実行された Python コードに任せます。
  • AI は、化学データ分析における化学量論、キャリブレーション、データ クリーニング、視覚化のためのコードを迅速に作成します。
  • 常にユニットを装着してください。単位の混乱は最も高価な間違いです。
  • キャリブレーションでは R² に加えて残差とグラフを調べます。
  • 答えがわかっている簡単な例でコードをテストします。コードの正確性を人間が検証します。

アプリケーションタスク

キャリブレーションまたは化学量論データセットを用意します (ない場合は、上記の Beer-Lambert データを使用します)。 AI に分析を行う Python コード (結果ではなくコード) を要求します。コードを実行します。次に、既知の答えの小さなサンプルを使用してテストします。 AI に同じ計算を口頭で依頼し、2 つの結果を比較します。違いはありますか?キャリブレーションにおける R² と残差のプロットを解釈します。コード、出力、短いコメントをドキュメントに記述します。

チェックリスト

  • [ ] 口頭での推測ではなく、コードから数値結果が得られます。
  • [ ] 各データ列の単位を明示します。
  • [ ] 答えがわかっている小さなサンプルを使用してコードをテストします。
  • [ ] キャリブレーションでは R² の次に残差/グラフ分析を実行します。
  • [ ] 化学量論で制限試薬を決定します。
  • [ ] 結果を適切な有効数字で報告します。