יחידה 6 / 11

ניתוח נתונים כימיים ופייתון: פנדות, סטוכיומטריה וכיול

רווחים:

  • יכולת לבסס תוצאות מספריות על קוד Python מבוצע במקום ניחוש מילולי של מודל השפה
  • יכולת לכתוב את הסטוכיומטריה, הכיול וקוד ניקוי הנתונים לבינה מלאכותית ולבדוק אותו עם דוגמאות עם תשובות ידועות
  • יכולת למנוע טעויות בניתוח נתונים על ידי ציון יחידות תמיד ובדיקת הסדר שלהן

הכימיה מלאה במספרים: שקילות, נפחים, ערכי ספיגה, תפוקות, ריכוזים. עיבוד נתונים אלה באופן ידני הוא איטי ונוטה לשגיאות. AI מספקת כאן שני שירותים עיקריים: (1) כותב קוד Python שמעבד את הנתונים, (2) מריץ את הקוד הזה (בסביבה שיכולה להריץ את הקוד) ונותן תוצאה דטרמיניסטית. העיקרון הקריטי הוא זה: השאר את החישוב לפלט של הקוד המבוצע, לא ל"ניבוי מילולי" של מודל השפה. מודל שפה "מה זה 142 × 0.05?" עשוי לפעמים לענות על השאלה בצורה שגויה; אבל קו הפייתון שהוא כותב תמיד מחושב נכון. ביחידה זו, נלמד ניתוח נתונים כימי עם AI עם פילוסופיה זו.

מדוע קוד עדיף על ניחוש מילולי?

מודל שפה עושה חשבון על ידי "ניבוי התוצאה האפשרית"; אז זה יכול להיות שגוי עם מספרים גדולים או חישוב רב-שלבי. ואילו בפייתון הביטוי 142 * 0.05 הוא דטרמיניסטי: הוא תמיד מחזיר 7.1. אז אסטרטגיה: אל תגרמו ל-AI לבצע את החישוב, הדפיסו את ה-CODE של החישוב והריצו את הקוד. אז אתה משתמש ביצירתיות של ה-AI (בניית הקוד) ומשבית את הצד הלא אמין (חשבון ראש).

טיפ: כאשר אתה מקבל תוצאה מספרית מ-AI, אמור "ייצג את זה עם קו של Python." הקוד עצמו גם מאמת את החשבון וגם מאפשר להפעיל אותו ולאשר אותו. אם אינך רואה קוד, אל תסמוך על המספר.

משימות ניתוח נתונים אופייניות בכימיה

  • סטוכיומטריה: שומה, מסה, מגיב מגביל, תשואה תיאורטית, חישוב אחוזי תשואה.
  • ריכוז: מולריות, דילול (M1V1 = M2V2), המרות ppm.
  • כיול: שרטוט קו כיול עם חוק באר למברט (ספיגה ∝ ריכוז) וחישוב הלא נודע.
  • ניקוי נתונים: קריאת טבלאות מדידה עם פנדות, סימון חריגים, סטיית ממוצע/תקן.
  • הדמיה: ציור עקומת כיול, גרף קינטיקה, עקומת טיטרציה.

צעד אחר צעד: ניתוח נתונים בטוח עם AI

  1. הגדר נתונים: תן בבירור עמודות, יחידות, שורות לדוגמה. אם אין יחידה, ה-AI מניח הנחות.
  2. בקש קוד, לא תוצאות: אמור "כתוב קוד פנדה/NumPy שמחשב את זה".
  3. הפעל את הקוד: הפעל אותו בעצמך או בסביבה שיכולה להריץ קוד.
  4. בדיקה עם מקרה פשוט: בדוק את הקוד עם דוגמה קטנה שבה אתה יודע את התשובה.
  5. בדיקת יחידה והזמנה: האם היחידה וגודל התוצאה סבירים מבחינה פיזית?
  6. מסמך: הוסף את הקוד והפלט למחברת הניסוי (יחידה 8).

ארבע תבניות הניתנות להעתקה

1) סטוכיומטריה ואחוז תשואה:

תגובה: חומצה סליצילית (MA 138.12) + אנהידריד אצטית -> אספירין (MA 180.16). נתונים: נעשה שימוש ב-2.00 גרם של חומצה סליצילית, אנהידריד אצטית היה עודף. התקבל אספירין: 2.15 גרם. משימה: כתוב קוד Python שמחשב משקל תיאורטי ואחוז משקל מוגדר. משתנים, הדפס את התוצאה ביחידות.אין לחשב בראש; פשוט תן קוד הפעלה.

2) כיול בירה למברט:

נתוני כיול (ריכוז מול/ליטר -> ספיגה): 0.00->0.02, 0.02->0.21, 0.04->0.40, 0.06->0.62, 0.08->0.79. ספיגת דגימה לא ידועה: 0.50. משימה: בצע כיול ליניארי עם numpy.polyfit, slope/intercept וחשב R^2, מצא את הריכוז הלא ידוע. תכנן את קו הנתונים + התאמה עם matplotlib.

3) טבלת מדידה עם פנדות:

יש לי CSV: עמודות = דגימה, משקל_ג, נפח_מ"ל, ספיגה. משימה: קרא עם פנדות, חשב ריכוז (g/L) עבור כל דגימה, סמן שורות עם ספיגה <0 כשגויה, תן קוד להדפסת הממוצע והסטייה הרגילה של הקבוצות. ציין את היחידות עם שורת הערות.

4) אימות חשבון דילול:

אני רוצה להכין 100 מ"ל של תמיסה של 0.05 M מתמיסת מניות של 0.5 M. משימה: כתוב את שורת ה-Python שמחשבת את נפח המלאי הנדרש עם M1V1=M2V2. הדפס את התוצאה ב-mL וודא כהערה שצפוי דילול של פי 10 לצורך בדיקה לוגית.

הנחיה חלשה / הנחיה חזקה

חלש:

כמה אספירין מגיע מ-2 גרם חומצה סליצילית?

ה-AI נותן מספר מהראש; אם הוא זוכר את המשקלים המולקולריים בצורה שגויה, התוצאה תתעוות ואופן חישובה לא ייראה.

חזק:

נניח חומצה סליצילית MA=138.12, אספירין MA=180.16, מסה=2.00 גרם, תשואה 100%. משימה: כתוב קוד Python שמחשב את המסה התיאורטית של אספירין; הערה על כל שלב (שומה -> מול -> מסה), הדפס את התוצאה ב-g.

הבדל: נתנו משקלים מולקולריים, קוד מבוקש, הערות שלבים, צוינה יחידה. התוצאה מדויקת וניתנת לביקורת כאחד.

חיזוי מילולי וכו' בוצע קוד

גודל

חיזוי מילולי מודל שפה

ריצת פייתון

דיוק אריתמטי

משתנה, עלולה להתרחש שגיאה

דטרמיניסטי, בטוח

יכולת ביקורת

הפלה (לא ברור איך זה יצא)

גבוה (קוד גלוי)

יכולת חזרה

נמוך

גבוה

מעקב אחר יחידות

חלש

ניתן לשמור פתוח בקוד

שימוש נכון

רעיון, מבנה מבנה

תוצאה מספרית סופית

מיני תיקים

מקרה 1 - טעות חשבון מילולית. תלמיד שואל AI "0.0145 מול × 180.16 גרם/מול?" הוא שאל; "2.72 גרם," אמר ה-AI. למעשה זה 2.61 גרם. כשהתלמיד אמר "הצג את זה בפייתון", YZ כתב 0.0145 * 180.16 וזה יצא כ-2,612; התגובה המילולית הראשונה הייתה שגויה. שיעור: העדיפו קוד אפילו לכפל פשוט מאוד.

מקרה 2 - R² צ'ק-אין כיול. משתמש אחד ביצע כיול של Beer-Lambert; מסתבר ש-R² = 0.981. ה-AI אמר "ליניארי, אמין" אבל הנקודה בריכוז הגבוה ביותר הייתה מתחת לקו (רוויה). כאשר המשתמש ראה את הגרף, הוא הזיז את הנקודה הגבוהה ביותר מחוץ לטווח הליניארי, R² עלה ל-0.999. שיעור: R² לבדו אינו מספיק; ראה שאריות/עלילה.

מקרה 3 - בלבול יחידה. בניתוח אחד לא היה ברור אם הריכוז היה מ"ג/ליטר או גר"ל; ה-AI הניח g/L והתוצאות היו שגויות פי 1000. זה תוקן כאשר המשתמש ציין במפורש את יחידת העמודה. לקח: החלף תמיד את היחידה, בהנחה שה-AI יקר.

טעויות נפוצות

  • בהסתמך על מספר מילולי. תמיד בקש והרץ קוד במקום לעשות חשבון נפש.
  • לא מפרט את היחידה. ערבוב mg/L עם g/L, mL עם L, גורם לשגיאה של פי 1000.
  • לא בודק את הקוד. יישום לביג דאטה ללא בדיקה עם דוגמה קטנה שבה התשובה ידועה.
  • בהתחשב ב-R² כקריטריון היחיד. אמון בנקודות הלא-לינאריות מבלי לראות אותן בצורה גרפית.
  • דלג על מגיב הבודק. חישוב תשואה תיאורטית ללא קביעת המגיב המגביל בסטוכיומטריה.
  • שפיכת צעדים משמעותית. דיווח התוצאה ל-8 ספרות כאשר המדידה היא 3 ספרות משמעותיות.
זהירות: אפילו הקוד שה-AI כותב עשוי להיות פגום (שם עמודה שגוי, נוסחה שגויה). הפעלת הקוד הופכת את התוצאה לדטרמיניסטית, אך עליך לאשר באמצעות דוגמה ידועה שהקוד מחשב את הדבר הנכון.

לסיכום

  • השאר את התוצאות המספריות לקוד Python המבוצע, לא לניחוש המילולי של מודל השפה.
  • AI כותב במהירות קוד לסטוכיומטריה, כיול, ניקוי נתונים והדמיה בניתוח נתונים כימי.
  • תמיד לשים יחידות על; בלבול יחידה הוא הטעות היקרה ביותר.
  • בדוק את השאריות והגרף בנוסף ל-R² בכיול.
  • בדוק את הקוד באמצעות דוגמה פשוטה עם תשובה ידועה; אנושי מאמת את דיוק הקוד.

משימת יישום

יש ערכת נתונים של כיול או סטואכיומטריה (אם לא, השתמש בנתוני Beer-Lambert לעיל). בקש מה-AI את קוד Python שעושה את הניתוח (הקוד, לא התוצאה). הפעל את הקוד; ואז בדוק את זה עם מדגם קטן של תשובות ידועות. בקשו מה-AI באופן מילולי את אותו חישוב והשוו בין שתי התוצאות: האם יש הבדל? פרש את העלילה של R² ושאריות בכיול. שים את הקוד, הפלט וההערה הקצרה במסמך.

רשימת בדיקה

  • [ ] אני מקבל את התוצאות המספריות מהקוד, לא מהניחוש המילולי.
  • [ ] אני מציין בבירור את היחידה של כל עמודת נתונים.
  • [ ] אני בודק את הקוד עם דוגמה קטנה שתשובתה ידועה.
  • [ ] אני מבצע ניתוח שאריות/גרף ליד R² בכיול.
  • [ ] אני קובע את המגיב המגביל בסטוכיומטריה.
  • [ ] אני מדווח על התוצאות עם הספרה המשמעותית המתאימה.