O005 · C120 · Modul Jembatan C1

Alur Kerja Python/Jupyter yang Reprodusibel

Tambahan independen untuk edisi Bahasa Indonesia

Tujuan Pembelajaran

Setelah menyelesaikan modul ini, Anda akan mampu:

  • menjelaskan perbedaan antara hasil yang dapat diulang, hasil yang dapat ditelusuri, dan kesimpulan yang benar;
  • menata proyek pemodelan sehingga data, asumsi, kode, lingkungan komputasi, dan keluaran dapat diperiksa secara terpisah;
  • menyatakan kontrak model yang memuat variabel, satuan, parameter, domain, asumsi, serta kriteria kegagalan;
  • menggunakan bilangan acak, pembagian data, dan catatan asal-usul data secara deterministik; dan
  • menjalankan ulang notebook dari keadaan bersih serta memverifikasi hasilnya dengan pemeriksaan numerik dan hash.

Reprodusibilitas adalah rantai bukti

Dalam pemodelan matematika, sebuah angka akhir bukanlah hasil yang berdiri sendiri. Angka itu bergantung pada pertanyaan yang diajukan, data yang digunakan, asumsi yang dibuat, persamaan yang dipilih, nilai parameter, algoritma, versi perangkat lunak, dan urutan eksekusi. Proyek disebut reprodusibel secara komputasional apabila orang lain dapat mengambil bahan yang sama, menjalankan prosedur yang dinyatakan, dan memperoleh keluaran yang sama dalam toleransi yang telah ditetapkan.

Reprodusibilitas tidak membuktikan bahwa model benar. Kesalahan yang ditulis dengan rapi tetap merupakan kesalahan. Namun, tanpa rantai bukti yang dapat diperiksa, pembaca tidak dapat membedakan perbedaan ilmiah dari kesalahan salin, keadaan tersembunyi dalam notebook, perubahan data, atau perbedaan lingkungan komputasi. Karena itu, reprodusibilitas merupakan syarat pemeriksaan, bukan pengganti kritik model.

Satu pertanyaan, satu proyek yang dapat diperiksa

Mulailah dengan satu pertanyaan operasional. Contohnya: “Dengan menganggap suhu ruangan tetap, seberapa cepat secangkir cairan panas mendekati suhu ruangan?” Pertanyaan ini lebih berguna daripada judul umum seperti “model pendinginan” karena menyebutkan sistem, besaran yang diamati, dan asumsi yang paling menentukan.

Struktur direktori berikut memisahkan bahan yang memiliki fungsi berbeda. Nama direktori bukan hukum universal; pemisahan tanggung jawabnya yang penting.

proyek-pendinginan/
├── README.md
├── requirements.lock
├── data/
│   ├── raw/
│   └── derived/
├── src/
│   └── model.py
├── notebooks/
│   └── analisis.ipynb
├── outputs/
└── manifest.tsv
Peran setiap unsur dalam proyek pemodelan yang dapat diperiksa
UnsurIsiAturan minimum
README.mdPertanyaan, cara menjalankan, dan batas klaimPembaca baru dapat memulai tanpa menebak urutan langkah.
requirements.lockVersi tepat perangkat lunakJangan hanya menulis “gunakan Python terbaru”.
data/rawData sebagaimana diperolehJangan diedit secara manual; simpan identitas dan sumbernya.
data/derivedData hasil pembersihan atau transformasiHarus dapat dibuat ulang dari data mentah dengan kode.
srcFungsi model dan prosedur analisisHindari logika penting yang hanya hidup di keadaan notebook.
notebooksNarasi eksekutabelHarus lulus “mulai ulang lalu jalankan semua”.
outputsGambar dan tabel turunanBoleh dihapus dan dibuat ulang tanpa kehilangan informasi asli.
manifest.tsvDaftar berkas, ukuran, dan hashMengikat klaim pada byte yang tepat.

Bekukan konteks sebelum menghitung

Catat versi Python dan setiap pustaka yang memengaruhi hasil. Versi yang dipatok membuat lingkungan dapat dibangun ulang; ia tidak menjamin bahwa pustaka bebas cacat. Catat pula sistem operasi atau arsitektur apabila perhitungan sangat peka terhadap implementasi numerik.

Jika simulasi memakai bilangan acak, gunakan pembangkit yang dibuat dari benih eksplisit. Dalam NumPy, bentuk seperti rng = np.random.default_rng(20260822) lebih mudah diaudit daripada keadaan acak global. Benih menjadikan satu realisasi dapat diulang, tetapi tidak menjadikan satu realisasi representatif. Analisis yang bergantung pada keacakan tetap perlu diperiksa dengan beberapa benih yang dinyatakan.

Gunakan satuan eksplisit. Nama t dan k tidak cukup apabila pembaca tidak tahu apakah waktu diukur dalam detik, menit, atau hari. Konversi satuan harus terjadi di satu tempat yang terlihat. Tanggal, zona waktu, pemisah desimal, pengodean teks, dan aturan penanganan data hilang juga termasuk konteks ketika dapat mengubah interpretasi.

Tulis kontrak model

Sebelum melakukan estimasi parameter, tuliskan apa yang masuk ke model, apa yang keluar, dan kapan model tidak layak digunakan. Untuk contoh pendinginan, misalkan T(t)T(t) adalah suhu cairan dalam derajat Celsius pada waktu tt menit, TT_{\infty} suhu lingkungan tetap, dan k>0k>0 tetapan laju dengan satuan menit1^{-1}. Hukum pendinginan Newton dinyatakan oleh

dTdt=k(TT),T(0)=T0,\frac{dT}{dt}=-k\bigl(T-T_{\infty}\bigr), \qquad T(0)=T_0,

dengan solusi

T(t)=T+(T0T)ekt.T(t)=T_{\infty}+\bigl(T_0-T_{\infty}\bigr)e^{-kt}.

Kontrak contoh ini memuat asumsi bahwa suhu cairan seragam, suhu lingkungan tetap, laju pertukaran panas sebanding dengan selisih suhu, dan alat ukur tidak mengubah sistem secara berarti. Domain parameternya mencakup k>0k>0 dan nilai TT_{\infty} yang masuk akal secara fisik. Model gagal sebagai deskripsi apabila, misalnya, suhu lingkungan berubah tajam, cairan mengalami perubahan fase, atau residu menunjukkan pola sistematis yang besar.

Kontrak juga harus menyebutkan konvensi perangkat lunak. Notebook pendamping menggunakan argumen fungsi dalam urutan (waktu_menit, laju_per_menit, suhu_lingkungan_c), menetapkan T0=92CT_0=92\,^{\circ}\mathrm{C}, dan membatasi pencarian parameter agar 0.001k0.50.001\le k\le0.5 serta 0T500\le T_{\infty}\le50.

Contoh kerja: dari data sintetis ke pemeriksaan

Notebook pendamping membuat sebelas pengamatan sintetis pada t=0,5,,50t=0,5,\ldots,50 menit. Nilai parameter pembangkit data adalah k=0.073k=0.073 menit1^{-1}, T=22.4CT_{\infty}=22.4\,^{\circ}\mathrm{C}, dan simpangan baku galat pengukuran 0.35C0.35\,^{\circ}\mathrm{C}. Benih tetap digunakan agar byte data dapat dihitung ulang. Data sintetis dipakai untuk menguji alur kerja; data tersebut bukan bukti empiris tentang proses pendinginan nyata.

Delapan pengamatan pertama digunakan untuk mengestimasi kk dan TT_{\infty}, sedangkan tiga pengamatan terakhir menjadi data uji dan tidak digunakan dalam proses estimasi. Pemisahan ini sengaja sederhana. Tujuannya ialah memperlihatkan bahwa prosedur estimasi dan pemeriksaan harus dibedakan. Modul C4 membahas validasi, identifiabilitas, perbandingan model, dan ketidakpastian secara lebih mendalam.

Untuk data latih (ti,yi)(t_i,y_i), parameter dipilih dengan meminimalkan jumlah kuadrat residu

SSE(k,T)=ilatih[yiT(ti;k,T)]2.\operatorname{SSE}(k,T_{\infty})=\sum_{i\in\mathcal{I}_{\mathrm{latih}}}\left[y_i-T(t_i;k,T_{\infty})\right]^2.

Setelah parameter diestimasi, notebook menghitung residu ri=yiT̂(ti)r_i=y_i-\widehat{T}(t_i), akar rerata kuadrat galat pada data latih (RMSE), korelasi residu dengan waktu, dan galat absolut rerata pada data uji yang disisihkan (holdout). Besaran-besaran ini merupakan pemeriksaan alur kerja, bukan sertifikat bahwa model memadai untuk semua tujuan.

Notebook tanpa keadaan tersembunyi

Notebook mudah menyesatkan ketika sel dijalankan tidak berurutan. Variabel dapat tetap hidup dari percobaan lama, gambar dapat berasal dari parameter yang sudah berubah, dan keluaran tersimpan dapat tampak sah walaupun kode saat ini gagal. Karena itu, pemeriksaan minimum ialah: mulai ulang kernel, hapus keluaran, jalankan semua sel dari atas ke bawah, lalu pastikan semua pemeriksaan lulus.

  1. Sel impor tidak mengunduh data dan tidak mengubah lingkungan.
  2. Konstanta, benih, satuan, serta batas parameter dinyatakan sebelum digunakan.
  3. Fungsi model tidak bergantung pada variabel global yang tersembunyi.
  4. Data turunan dibuat oleh kode, bukan disunting dengan tangan.
  5. Pemisahan data dilakukan sebelum estimasi parameter.
  6. Gambar dibuat dari objek data dan parameter yang sama dengan ringkasan numerik.
  7. Pemeriksaan menggunakan toleransi bermakna, bukan kesamaan pecahan mengambang secara membuta.

Notebook kanonik disimpan tanpa keluaran eksekusi. Pilihan ini memudahkan pemeriksaan perubahan byte dan memaksa keluaran dibuat ulang. Pembaca tetap dapat menjalankannya secara lokal dengan perangkat lunak terbuka yang dipatok dalam requirements.lock.

Manifest, hash, dan batas yang tepat

Hash SHA-256 memadatkan byte sebuah berkas menjadi pengenal yang peka terhadap perubahan. Hash menjawab pertanyaan “apakah byte ini sama?”, bukan “apakah isi ini benar?” atau “apakah dua tabel yang diformat berbeda memiliki makna yang sama?”. Catat sekurang-kurangnya jalur relatif, jumlah byte, dan hash untuk setiap artefak yang perlu dipertahankan.

Manifest harus dibuat dengan urutan jalur yang tetap, pengodean UTF-8 yang dinyatakan, dan aturan akhir baris yang konsisten. Jangan masukkan token, kata sandi, jalur profil pribadi, cache, atau data rahasia. Untuk data yang tidak boleh didistribusikan, catat identitas, prosedur perolehan, dan batas akses tanpa menyisipkan byte terlarang.

Dalam notebook contoh, tabel sintetis diserialisasi dengan enam angka di belakang koma sebelum hash dihitung. Aturan serialisasi itu merupakan bagian dari kontrak. Mengubah jumlah angka, nama kolom, atau aturan akhir baris akan mengubah hash walaupun nilai matematis dasarnya hampir sama.

Daftar periksa sebelum menyatakan hasil dapat direproduksi

  • Pertanyaan, tujuan penggunaan, dan batas klaim tertulis jelas.
  • Data mentah tidak ditimpa; sumber, lisensi, tanggal, dan identitasnya tercatat.
  • Semua transformasi data dapat dijalankan ulang dari input yang dinyatakan.
  • Variabel, parameter, satuan, domain, dan asumsi model memiliki definisi tunggal.
  • Versi Python dan pustaka dipatok.
  • Benih acak dan algoritma pembangkit dinyatakan jika keacakan digunakan.
  • Pemisahan data latih dan data uji terjadi sebelum estimasi.
  • Notebook lulus mulai ulang dan jalankan semua dari keadaan bersih.
  • Pemeriksaan numerik memiliki toleransi dan alasan.
  • Gambar serta tabel berasal dari alur yang sama dengan angka yang dilaporkan.
  • Manifest tidak memuat kredensial atau data yang tidak boleh disebarkan.
  • Perubahan terhadap sumber atau versi sebelumnya dijelaskan.

Kegagalan yang sering terjadi

Gejala kegagalan, penyebab yang mungkin, dan tindakan perbaikan
GejalaPenyebab yang mungkinPerbaikan
Notebook hanya bekerja setelah beberapa sel dijalankan manual.Keadaan tersembunyi atau urutan sel salah.Mulai ulang, jalankan semua, dan pindahkan definisi sebelum pemakaian.
Hasil berubah pada setiap eksekusi.Benih atau sumber keacakan tidak dikendalikan.Buat pembangkit lokal dengan benih eksplisit dan uji beberapa benih secara terpisah.
Hasil sama, tetapi tidak diketahui data mana yang dipakai.Asal-usul dan identitas data hilang.Simpan sumber, waktu perolehan, aturan transformasi, jumlah byte, dan hash.
Galat pada data latih sangat kecil, tetapi prediksi buruk.Pencocokan berlebih, kebocoran data, atau model di luar domain.Pisahkan data lebih awal dan periksa residu serta data uji.
Dua komputer memberi digit terakhir yang berbeda.Perbedaan pustaka atau aritmetika pecahan mengambang.Patok lingkungan dan gunakan toleransi yang sesuai dengan skala masalah.
Manifest berubah setiap kali dibuat.Urutan jalur, waktu, atau format serialisasi tidak tetap.Urutkan jalur dan keluarkan metadata yang tidak deterministik.

Ringkasan

Alur kerja reprodusibel mengubah perhitungan menjadi argumen yang dapat diaudit. Ia mengikat pertanyaan, data, asumsi, model, kode, lingkungan, pemeriksaan, dan artefak akhir dalam satu rantai yang terlihat. Notebook pendamping memperagakan rantai tersebut dengan model pendinginan sederhana: data sintetis dibuat dari benih tetap, parameter diestimasi hanya dari data latih, residu dan data uji diperiksa, serta identitas byte data dihitung. Reprodusibilitas komputasional ini belum menjawab apakah model paling tepat; ia memastikan bahwa pertanyaan itu dapat diajukan terhadap bukti yang sama.

Latihan Penguasaan

Soal 1

Sebuah laporan hanya menyertakan gambar hasil simulasi dan kalimat “dibuat dengan Python”. Susun daftar lima informasi paling penting yang masih diperlukan agar klaim numeriknya dapat diperiksa dan diulang.

Soal 2

Rancang struktur proyek untuk data pengamatan populasi mingguan. Jelaskan berkas mana yang tidak boleh disunting, berkas mana yang boleh dibuat ulang, dan tiga kolom minimum dalam manifest.

Soal 3

Untuk model pendinginan di atas, tentukan satuan kk, periksa bahwa eksponen ktkt tak berdimensi, dan jelaskan mengapa batas k>0k>0 sesuai dengan proses pendinginan menuju suhu lingkungan.

Soal 4

Bandingkan np.random.seed(17) yang mengubah keadaan global dengan rng = np.random.default_rng(17) yang membuat pembangkit lokal. Jelaskan mengapa pembangkit lokal biasanya lebih mudah diaudit dalam proyek besar.

Soal 5

Hitung suhu yang diprediksi pada t=10t=10 menit jika T0=92CT_0=92\,^{\circ}\mathrm{C}, T=22CT_{\infty}=22\,^{\circ}\mathrm{C}, dan k=0.07k=0.07 menit1^{-1}. Berikan jawaban hingga dua angka di belakang koma.

Soal 6

Jelaskan mengapa memilih data uji setelah melihat seluruh hasil dapat menghasilkan penilaian yang terlalu optimistis. Usulkan urutan kerja yang mencegah kebocoran informasi.

Soal 7

Jalankan notebook pendamping dari keadaan bersih. Catat hash tabel sintetis, estimasi kedua parameter, RMSE data latih, dan MAE data uji. Kemudian ubah hanya SEED dari 20260822 menjadi 20260823, jalankan ulang, dan jelaskan mana yang berubah, mana yang tetap, serta mengapa perubahan itu tidak boleh disembunyikan. Notebook menandai benih nonkanonik secara terlihat dan melewatkan hanya pemeriksaan angka kanonik; pemeriksaan struktur dan keterhinggaan tetap berjalan.

Petunjuk, pemeriksaan, dan pembahasan

Bagian tambahan ini ditulis untuk edisi Bahasa Indonesia. Bukalah seperlunya setelah Anda berusaha menyelesaikan soal secara mandiri.

Dukungan untuk Soal 1

Petunjuk

Telusuri rantai dari pertanyaan dan data hingga kode, lingkungan, parameter, serta keluaran.

Periksa jawaban
Pemeriksaan akhir

Jawaban lengkap menyebut sedikitnya lima unsur yang membuat klaim dapat ditelusuri dan dijalankan ulang.

Bukti yang diperlukan
  1. Identitas dan asal-usul data.

  2. Persamaan, asumsi, parameter, serta satuan model.

  3. Kode dan urutan eksekusi.

  4. Versi Python/pustaka dan benih acak bila ada.

  5. Nilai numerik atau manifest yang mengikat gambar pada keluaran tepat.

Pembahasan atau rubrik
Simpulan

Kalimat “dibuat dengan Python” hanya menyebut alat; ia tidak mengidentifikasi perhitungan yang dilakukan.

Langkah penyelesaian
  1. Nyatakan pertanyaan dan tujuan penggunaan simulasi.

  2. Berikan data atau cara deterministik untuk memperolehnya beserta hash dan lisensi.

  3. Tuliskan model, asumsi, satuan, parameter, kondisi awal, dan domain.

  4. Sertakan kode lengkap serta urutan menjalankan dari keadaan bersih.

  5. Patok lingkungan dan sumber keacakan, lalu catat keluaran numerik yang mendasari gambar.

Dukungan untuk Soal 2

Petunjuk

Pisahkan data mentah, data turunan, kode transformasi, notebook, keluaran, dan dokumentasi.

Periksa jawaban
Pemeriksaan akhir

Data mentah dipertahankan byte demi byte; data turunan, gambar, dan tabel harus dapat dibuat ulang.

Bukti yang diperlukan
  1. Direktori raw dan derived dipisahkan.

  2. Transformasi disimpan sebagai kode.

  3. Manifest sekurang-kurangnya memuat jalur relatif, jumlah byte, dan SHA-256.

Pembahasan atau rubrik
Simpulan

Pemisahan ini memungkinkan keluaran dihapus dan dibangun ulang tanpa kehilangan saksi sumber.

Langkah penyelesaian
  1. Simpan unduhan asli di data/raw tanpa penyuntingan manual.

  2. Tulis skrip yang membaca raw dan menghasilkan data/derived.

  3. Tempatkan fungsi model di src, narasi di notebooks, dan artefak yang dapat dibuat ulang di outputs.

  4. Buat README, requirements.lock, dan manifest.tsv yang diurutkan secara deterministik.

Dukungan untuk Soal 3

Petunjuk

Eksponen harus tak berdimensi dan kedua ruas persamaan diferensial harus memiliki satuan suhu per waktu.

Periksa jawaban
Pemeriksaan akhir

Jika waktu dalam menit, maka [k]=menit1[k]=\mathrm{menit}^{-1}; ktkt tak berdimensi; k>0k>0 membuat selisih suhu menyusut menuju nol.

Bukti yang diperlukan
  1. [dTdt]=suhuwaktu\left[\frac{dT}{dt}\right]=\frac{\mathrm{suhu}}{\mathrm{waktu}}.

  2. [k(TT)]=waktu1×suhu[k(T-T_\infty)]=\mathrm{waktu}^{-1}\times\mathrm{suhu}.

  3. Untuk T>TT>T_\infty dan k>0k>0, turunan suhu negatif.

Pembahasan atau rubrik
Simpulan

Solusi mendekati TT_\infty ketika tt bertambah.

Langkah penyelesaian
  1. Karena TT dan TT_\infty bersatuan °C, selisihnya juga bersatuan °C.

  2. Agar ruas kanan bersatuan °C/menit, kk harus bersatuan menit1\mathrm{menit}^{-1}.

  3. Maka ktkt tidak memiliki satuan dan sah berada di dalam fungsi eksponensial.

  4. Untuk T>TT>T_\infty, k>0k>0 memberi dTdt<0\frac{dT}{dt}<0; untuk T<TT<T_\infty, dTdt>0\frac{dT}{dt}>0.

Dukungan untuk Soal 4

Petunjuk

Tanyakan kode mana saja yang dapat mengonsumsi urutan acak yang sama tanpa terlihat.

Periksa jawaban
Pemeriksaan akhir

Pembangkit lokal membatasi keadaan dan dependensi ke objek yang diteruskan secara eksplisit, sehingga urutan konsumsi lebih mudah dilacak.

Bukti yang diperlukan
  1. Keadaan global dapat diubah oleh fungsi atau pustaka lain.

  2. Objek Generator dapat diberi nama, diteruskan, dan diuji secara lokal.

  3. Benih tetap mengulang satu realisasi, bukan membuktikan keterwakilan statistik.

Pembahasan atau rubrik
Simpulan

Pembangkit lokal biasanya memberi batas dependensi yang lebih jelas.

Langkah penyelesaian
  1. np.random.seed mengubah keadaan bersama dalam modul lama.

  2. default_rng membuat objek Generator yang memiliki keadaan sendiri.

  3. Perubahan konsumsi acak di komponen lain tidak menggeser urutan objek lokal jika objek tidak dibagikan.

  4. Untuk menilai kestabilan terhadap keacakan, jalankan beberapa benih dan laporkan semuanya secara terpisah.

Dukungan untuk Soal 5

Petunjuk

Substitusikan selisih awal 9222=7092-22=70 dan hitung e0.7e^{-0.7}.

Periksa jawaban
Pemeriksaan akhir

56.76 °C

Rumus

T(10)=22+70e0.7T(10)=22+70e^{-0.7}

Toleransi
Absolute c

0.01

Pembahasan atau rubrik
Simpulan

T(10)56.76T(10)\approx56.76 °C.

Langkah penyelesaian
  1. Hitung kt=0.07(10)=0.7kt=0.07(10)=0.7.

  2. Hitung e0.70.496585e^{-0.7}\approx0.496585.

  3. Kalikan dengan 70 untuk memperoleh sekitar 34.7610.

  4. Tambahkan suhu lingkungan 22 °C.

Dukungan untuk Soal 6

Petunjuk

Jika pilihan data uji dipengaruhi oleh hasil, data itu telah memengaruhi keputusan pemodelan walaupun tidak masuk ke fungsi objektif.

Periksa jawaban
Pemeriksaan akhir

Pemisahan harus ditetapkan sebelum estimasi dan sebelum melihat metrik kandidat; data uji baru dibuka setelah alur analisis dibekukan.

Bukti yang diperlukan
  1. Pilihan pascahasil menyesuaikan evaluasi terhadap data yang sudah diketahui.

  2. Urutan aman: tetapkan tujuan, bagi data, kembangkan prosedur dengan data latih, bekukan prosedur, lalu evaluasi data uji.

  3. Setelah data uji dipakai untuk revisi, ia bukan lagi evaluasi akhir yang independen.

Pembahasan atau rubrik
Simpulan

Kebocoran adalah pengaruh informasi yang tidak tercatat, bukan hanya baris data yang dimasukkan langsung ke estimator.

Langkah penyelesaian
  1. Tentukan unit pembagian dan aturan pemisahan data sebelum pencocokan.

  2. Simpan indeks data latih dan data uji sebagai bagian dari konfigurasi.

  3. Gunakan data latih untuk estimasi serta pengembangan prosedur.

  4. Bekukan kode dan ambang pemeriksaan sebelum membuka metrik data uji.

  5. Jika hasil evaluasi pada data uji memicu revisi, nyatakan hal itu dan buat evaluasi baru dengan data lain bila tersedia.

Dukungan untuk Soal 7

Petunjuk

Bedakan kontrak yang tetap—model, waktu, parameter simulasi, dan aturan serialisasi—dari realisasi galat acak yang berubah.

Periksa jawaban
Pemeriksaan akhir

Benih 20260822 menghasilkan hash 1000bc1092f173258d2be37e4f8906ea0933708582d09768ce96eed739be337e, k̂=0.07287235\hat{k}=0.07287235, T̂=22.63964536\hat{T}_\infty=22.63964536 °C, RMSE=0.31976406\mathrm{RMSE}=0.31976406 °C, dan MAEdata uji=0.17952331\mathrm{MAE}_{\text{data uji}}=0.17952331 °C.

Pemeriksaan notebook

Semua sel kode berjalan dari keadaan bersih dan semua pemeriksaan eksplisit lulus.

Bukti yang diperlukan
  1. Benih baru mengubah realisasi galat, hash data, estimasi, dan metrik numerik.

  2. Model, waktu pengamatan, parameter pembangkit data, serta aturan serialisasi tetap sama.

  3. Perubahan benih harus diungkapkan karena mengubah identitas data dan hasil yang dilaporkan.

Toleransi
K absolute

1e-08

Metric absolute c

1e-08

Temperature absolute c

1e-08

Pembahasan atau rubrik
Simpulan

Perubahan yang disengaja sah apabila identitas konfigurasi dan artefaknya ikut berubah secara terlihat.

Langkah penyelesaian
  1. Mulai ulang kernel, hapus keluaran, dan jalankan semua sel berurutan.

  2. Cocokkan hash, parameter, RMSE, dan MAE dengan pemeriksaan notebook.

  3. Ubah hanya benih, lalu jalankan ulang seluruh notebook.

  4. Hash data, realisasi suhu, estimasi, dan metrik berubah; fungsi model, satuan, waktu pengamatan, serta aturan serialisasi tetap.

  5. Catat benih baru dan jangan menyajikan keluaran baru sebagai byte yang sama dengan keluaran lama.

Unduh notebook Python terbuka untuk Soal 7