cari
RumahPeranti teknologiAIPanduan untuk Memahami Syarat Interaksi

Pengenalan

Istilah interaksi dimasukkan dalam pemodelan regresi untuk menangkap kesan dua atau lebih pembolehubah bebas dalam pemboleh ubah bergantung. Kadang -kadang, bukan hanya hubungan mudah antara pembolehubah kawalan dan pembolehubah sasaran yang sedang disiasat, istilah interaksi boleh sangat membantu pada saat -saat ini. Ini juga berguna apabila hubungan antara satu pemboleh ubah bebas dan pemboleh ubah bergantung bersyarat pada tahap pembolehubah bebas yang lain.

Ini, tentu saja, menunjukkan bahawa kesan satu prediktor pada pemboleh ubah tindak balas bergantung kepada tahap prediktor lain. Dalam blog ini, kami mengkaji idea istilah interaksi melalui senario simulasi: meramalkan berkali-kali jumlah pengguna masa akan dibelanjakan pada saluran e-dagang menggunakan tingkah laku masa lalu mereka.

Objektif pembelajaran

  • Memahami bagaimana istilah interaksi meningkatkan kuasa ramalan model regresi.
  • Belajar untuk membuat dan menggabungkan istilah interaksi dalam analisis regresi.
  • Menganalisis kesan istilah interaksi pada ketepatan model melalui contoh praktikal.
  • Visualisasikan dan mentafsirkan kesan istilah interaksi pada hasil yang diramalkan.
  • Dapatkan pandangan tentang kapan dan mengapa untuk menggunakan istilah interaksi dalam senario dunia nyata.

Artikel ini diterbitkan sebagai sebahagian daripada Blogathon Sains Data.

Jadual Kandungan

  • Pengenalan
  • Memahami asas -asas istilah interaksi
  • Bagaimana istilah interaksi mempengaruhi koefisien regresi?
  • Senario simulasi: Tingkah laku pengguna di platform e-dagang
  • Model tanpa istilah interaksi
  • Model dengan istilah interaksi
  • Membandingkan prestasi model
  • Kesimpulan
  • Soalan yang sering ditanya

Memahami asas -asas istilah interaksi

Dalam kehidupan sebenar, kita tidak mendapati bahawa pembolehubah berfungsi secara berasingan dari yang lain dan oleh itu model kehidupan sebenar jauh lebih kompleks daripada yang kita belajar di kelas. Sebagai contoh, kesan tindakan navigasi pengguna akhir seperti menambahkan item ke kereta pada masa yang dihabiskan untuk platform e-dagang berbeza apabila pengguna menambah item ke kereta dan membelinya. Oleh itu, menambah istilah interaksi sebagai pembolehubah kepada model regresi membolehkan untuk mengakui persimpangan ini dan, oleh itu, meningkatkan kecergasan model untuk tujuan dari segi menjelaskan corak yang mendasari data yang diperhatikan dan/atau meramalkan nilai masa depan pemboleh ubah bergantung.

Perwakilan matematik

Mari kita pertimbangkan model regresi linear dengan dua pembolehubah bebas, x1 dan x2:

Y = β0 β1 x1 β2 x2 ϵ,

Di mana y ialah pemboleh ubah bergantung, β0 adalah pemintas, β1 dan β2 adalah pekali untuk pembolehubah bebas x1 dan x2, dan ϵis istilah ralat.

Menambah istilah interaksi

Untuk memasukkan istilah interaksi antara x1 dan x2, kami memperkenalkan pembolehubah baru x1 ⋅x2:

Y = β0 β1x1 β2x2 β3 (x1 ⋅x2) ϵ,

Where β3Represents kesan interaksi antara x1 dan x2. Istilah x1 ⋅x2is produk dari dua pembolehubah bebas.

Bagaimana istilah interaksi mempengaruhi koefisien regresi?

  • β0: Intercept, yang mewakili nilai yang dijangkakan y apabila semua pembolehubah bebas adalah sifar.
  • β1: Kesan x1 pada y apabila x2 adalah sifar.
  • β2: Kesan x2 pada y apabila x1 adalah sifar.
  • β3: Perubahan kesan x1 pada y untuk perubahan satu unit dalam x2, atau setara, perubahan kesan x2 pada y untuk perubahan satu unit dalam x1.

Contoh: Aktiviti pengguna dan masa yang dihabiskan

Pertama, mari buat dataset simulasi untuk mewakili tingkah laku pengguna di kedai dalam talian. Data terdiri daripada:

  • tambah_in_cart: Menunjukkan jika pengguna telah menambah produk ke kereta mereka (1 untuk menambah dan 0 untuk tidak menambah).
  • Dibeli: Sama ada pengguna menyelesaikan pembelian (1 untuk siap atau 0 untuk tidak lengkap).
  • Time_spent: Jumlah masa pengguna yang dibelanjakan untuk platform e-dagang. Matlamat kami adalah untuk meramalkan tempoh lawatan pengguna di kedai dalam talian dengan menganalisis jika mereka menambah produk ke kereta mereka dan menyelesaikan transaksi.
 # Import perpustakaan
Import Pandas sebagai PD
import numpy sebagai np

# Menghasilkan data sintetik
def penjana_synthetic_data (n_samples = 2000):

    np.random.seed (42)
    tambah_in_cart = np.random.randint (0, 2, n_samples)
    dibeli = np.random.randint (0, 2, n_samples)
    time_spent = 3 2*dibeli 2.5*tambah_in_cart 4*dibeli*tambah_in_cart np.random.normal (0, 1, n_samples)
    kembali pd.dataframe ({'dibeli': dibeli, 'tambah_in_cart': tambah_in_cart, 'time_spent': time_spent})

df = penjana_synthetic_data ()
df.head ()

Output:

Panduan untuk Memahami Syarat Interaksi

Senario simulasi: Tingkah laku pengguna di platform e-dagang

Sebagai langkah seterusnya kami akan mula membina model regresi paling kurang persegi biasa dengan pertimbangan terhadap tindakan pasaran ini tetapi tanpa liputan terhadap kesan interaksi mereka. Hipotesis kami adalah seperti berikut: (Hipotesis 1) Terdapat kesan masa yang dihabiskan di laman web di mana setiap tindakan diambil secara berasingan. Sekarang kita akan membina model kedua yang merangkumi istilah interaksi yang wujud antara menambah produk ke dalam kereta dan membuat pembelian.

Ini akan membantu kami melawan kesan tindakan tersebut, secara berasingan atau digabungkan pada masa yang dihabiskan di laman web. Ini menunjukkan bahawa kami ingin mengetahui sama ada pengguna yang kedua -duanya menambah produk ke kereta dan membuat pembelian menghabiskan lebih banyak masa di laman web ini daripada masa yang dihabiskan apabila setiap tingkah laku dianggap secara individu.

Model tanpa istilah interaksi

Berikutan pembinaan model, hasil berikut telah diperhatikan:

  • Dengan kesilapan kuadrat min (MSE) sebanyak 2.11, model tanpa jangka masa interaksi menyumbang kira-kira 80% (ujian r-kuadrat) dan 82% (kereta api r-kuadrat) varians dalam time_spent. Ini menunjukkan bahawa ramalan time_spent, secara purata, 2.11 unit kuasa dua dari masa sebenar. Walaupun model ini dapat diperbaiki, ia cukup tepat.
  • Selain itu, plot di bawah menunjukkan secara grafik bahawa walaupun model itu berfungsi dengan baik. Masih banyak ruang untuk penambahbaikan, terutamanya dari segi menangkap nilai yang lebih tinggi dari time_spent.
 # Import perpustakaan
dari sklearn.model_selection import train_test_split
dari sklearn.linear_model import linearregression
dari sklearn.metrics import Mean_Squared_error, R2_Score
import statsmodels.api sebagai sm
dari sklearn.model_selection import train_test_split
import matplotlib.pyplot sebagai PLT

# Model tanpa istilah interaksi
X = df [['dibeli', 'tambah_in_cart']]
y = df ['time_spent']
X_train, x_test, y_train, y_test = train_test_split (x, y, test_size = 0.3, random_state = 42)

# Tambahkan pemalar untuk memintas
X_train_const = sm.add_constant (x_train)
X_test_const = sm.add_constant (x_test)

model = sm.ols (y_train, x_train_const) .fit ()
y_pred = model.predict (x_test_const)

# Kirakan metrik untuk model tanpa istilah interaksi
train_r2 = model.rsquared
test_r2 = r2_score (y_test, y_pred)
MSE = MEAN_SQUARED_ERROR (Y_TEST, Y_PRED)

Cetak ("Model tanpa istilah interaksi:")
Cetak ('Latihan R-kuadrat Skor (%):', bulat (train_r2 * 100, 4))
Cetak ('Ujian R-kuadrat Skor (%):', bulat (test_r2 * 100, 4))
Cetak ("MSE:", bulat (MSE, 4))
cetak (model.summary ())


# Berfungsi untuk merancang sebenar vs diramalkan
def plot_actual_vs_predicted (y_test, y_pred, tajuk):

    PLT.Figure (figsize = (8, 4))
    plt.scatter (y_test, y_pred, edgecolors = (0, 0, 0))
    plt.plot ([y_test.min (), y_test.max ()], [y_test.min (), y_test.max ()], 'k--', lw = 2)
    plt.xlabel ('sebenar')
    plt.ylabel ('diramalkan')
    plt.title (tajuk)
    plt.show ()

# Plot tanpa istilah interaksi
plot_actual_vs_predicted (y_test, y_pred, 'sebenar vs masa yang diramalkan dibelanjakan (tanpa istilah interaksi)')

Output:

Panduan untuk Memahami Syarat Interaksi

Panduan untuk Memahami Syarat Interaksi

Model dengan istilah interaksi

  • Lebih sesuai untuk model dengan istilah interaksi ditunjukkan oleh plot berselerak dengan istilah interaksi, yang memaparkan nilai yang diramalkan jauh lebih dekat dengan nilai sebenar.
  • Model ini menerangkan lebih banyak varians dalam time_spent dengan istilah interaksi, seperti yang ditunjukkan oleh ujian R-kuadrat yang lebih tinggi (dari 80.36% hingga 90.46%).
  • Ramalan model dengan istilah interaksi lebih tepat, seperti yang dibuktikan oleh MSE yang lebih rendah (dari 2.11 hingga 1.02).
  • Penjajaran yang lebih dekat dari titik -titik ke garis pepenjuru, terutamanya untuk nilai yang lebih tinggi dari time_spent, menunjukkan peningkatan yang lebih baik. Istilah interaksi membantu dalam menyatakan bagaimana tindakan pengguna secara kolektif mempengaruhi jumlah masa yang dibelanjakan.
 # Tambahkan istilah interaksi
df ['dibeli_added_in_cart'] = df ['dibeli'] * df ['tambah_in_cart']
X = df [['dibeli', 'tambah_in_cart', 'dibeli_added_in_cart']]
y = df ['time_spent']
X_train, x_test, y_train, y_test = train_test_split (x, y, test_size = 0.3, random_state = 42)

# Tambahkan pemalar untuk memintas
X_train_const = sm.add_constant (x_train)
X_test_const = sm.add_constant (x_test)

model_with_interaction = sm.ols (y_train, x_train_const) .fit ()
Y_PRED_WITH_INTERACTION = MODEL_WITH_INTERACTION.PREDICT (X_TEST_CONST)

# Kirakan metrik untuk model dengan istilah interaksi
train_r2_with_interaction = model_with_interaction.rsquared
test_r2_with_interaction = r2_score (y_test, y_pred_with_interaction)
MSE_WITH_INTERACTION = MEAN_SQUARED_ERROR (Y_TEST, Y_PRED_WITH_INTERACTION)

Cetak ("\ nmodel dengan istilah interaksi:")
Cetak ('Latihan R-kuadrat Skor (%):', bulat (train_r2_with_interaction * 100, 4))
Cetak ('Ujian R-kuadrat skor (%):', bulat (test_r2_with_interaction * 100, 4))
Cetak ("MSE:", bulat (MSE_WITH_INTERACTION, 4))
cetak (model_with_interaction.summary ())


# Plot dengan istilah interaksi
plot_actual_vs_predicted (y_test, y_pred_with_interaction, 'sebenar vs masa yang diramalkan dibelanjakan (dengan istilah interaksi)')

# Perbandingan cetak
Cetak ("\ nomparison model:")
cetak ("R-kuadrat tanpa istilah interaksi:", bulat (r2_score (y_test, y_pred)*100,4))
cetak ("R-kuadrat dengan istilah interaksi:", bulat (r2_score (y_test, y_pred_with_interaction)*100,4)))
Cetak ("MSE Tanpa Istilah Interaksi:", Pusingan (MEAN_SQUARED_ERROR (Y_TEST, Y_PRED), 4))
cetak ("MSE dengan istilah interaksi:", bulat (MEAN_SQUARED_ERROR (Y_TEST, Y_PRED_WITH_INTERACTION), 4))

Output:

Panduan untuk Memahami Syarat Interaksi

Panduan untuk Memahami Syarat Interaksi

Membandingkan prestasi model

  • Ramalan model tanpa istilah interaksi diwakili oleh titik biru. Apabila masa yang sebenarnya dibelanjakan nilai lebih tinggi, titik -titik ini lebih tersebar dari garis pepenjuru.
  • Ramalan model dengan istilah interaksi diwakili oleh titik merah. Model dengan istilah interaksi menghasilkan ramalan yang lebih tepat. Terutama untuk nilai masa sebenar yang lebih tinggi, kerana titik -titik ini lebih dekat dengan garis pepenjuru.
 # Bandingkan model dengan dan tanpa istilah interaksi

def plot_actual_vs_predicted_combined (y_test, y_pred1, y_pred2, title1, title2):

    PLT.Figure (figsize = (10, 6))
    plt.scatter (y_test, y_pred1, edgecolors = 'blue', label = title1, alpha = 0.6)
    plt.scatter (y_test, y_pred2, edgecolors = 'merah', label = title2, alpha = 0.6)
    plt.plot ([y_test.min (), y_test.max ()], [y_test.min (), y_test.max ()], 'k--', lw = 2)
    plt.xlabel ('sebenar')
    plt.ylabel ('diramalkan')
    plt.title ('sebenar vs masa pengguna yang diramalkan dibelanjakan')
    plt.legend ()
    plt.show ()

plot_actual_vs_predicted_combined (y_test, y_pred, y_pred_with_interaction, 'model tanpa istilah interaksi', 'model dengan istilah interaksi')

Output:

Panduan untuk Memahami Syarat Interaksi

Kesimpulan

Peningkatan prestasi model dengan istilah interaksi menunjukkan bahawa kadang -kadang menambah istilah interaksi ke model anda dapat meningkatkan kepentingannya. Contoh ini menyoroti bagaimana istilah interaksi dapat menangkap maklumat tambahan yang tidak jelas dari kesan utama sahaja. Dalam praktiknya, memandangkan istilah interaksi dalam model regresi berpotensi membawa kepada ramalan yang lebih tepat dan berwawasan.

Dalam blog ini, kami mula-mula menghasilkan dataset sintetik untuk mensimulasikan tingkah laku pengguna pada platform e-dagang. Kami kemudian membina dua model regresi: satu tanpa istilah interaksi dan satu dengan istilah interaksi. Dengan membandingkan prestasi mereka, kami menunjukkan kesan yang signifikan terhadap istilah interaksi mengenai ketepatan model.

Semak kod penuh dan sumber di GitHub.

Takeaways utama

  • Model regresi dengan istilah interaksi dapat membantu untuk lebih memahami hubungan antara dua atau lebih pembolehubah dan pembolehubah sasaran dengan menangkap kesan gabungan mereka.
  • Termasuk istilah interaksi dapat meningkatkan prestasi model dengan ketara, seperti yang dibuktikan oleh nilai R-kuadrat yang lebih tinggi dan MSE yang lebih rendah dalam panduan ini.
  • Istilah interaksi bukan hanya konsep teoritis, mereka boleh digunakan untuk senario dunia sebenar.

Soalan yang sering ditanya

Q1. Apakah istilah interaksi dalam analisis regresi?

A. Mereka adalah pembolehubah yang dicipta dengan mengalikan dua atau lebih pembolehubah bebas. Mereka digunakan untuk menangkap kesan gabungan pembolehubah ini pada pemboleh ubah bergantung. Ini dapat memberikan pemahaman yang lebih baik tentang hubungan dalam data.

S2. Bilakah saya harus mempertimbangkan menggunakan istilah interaksi dalam model saya?

A. Anda harus mempertimbangkan menggunakannya apabila anda mengesyaki bahawa kesan satu pemboleh ubah bebas pada pemboleh ubah bergantung bergantung pada tahap pembolehubah bebas yang lain. Sebagai contoh, jika anda percaya bahawa kesan menambahkan item ke kereta pada masa yang dihabiskan untuk platform e-dagang bergantung kepada sama ada pengguna membuat pembelian. Anda harus memasukkan istilah interaksi antara pembolehubah ini.

Q3. Bagaimanakah saya mentafsir koefisien istilah interaksi?

A. Koefisien istilah interaksi mewakili perubahan dalam kesan satu pembolehubah bebas pada pemboleh ubah bergantung untuk perubahan satu unit dalam pemboleh ubah bebas yang lain. Sebagai contoh, dalam contoh kami di atas, kami mempunyai istilah interaksi antara yang dibeli dan ditambah_in_cart, pekali memberitahu kami bagaimana kesan menambah item ke kereta pada masa yang dihabiskan untuk perubahan apabila pembelian dibuat.

Media yang ditunjukkan dalam artikel ini tidak dimiliki oleh Analytics Vidhya dan digunakan atas budi bicara penulis.

Atas ialah kandungan terperinci Panduan untuk Memahami Syarat Interaksi. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Cara Membina Pembantu AI Peribadi Anda Dengan Huggingface SmollmCara Membina Pembantu AI Peribadi Anda Dengan Huggingface SmollmApr 18, 2025 am 11:52 AM

Memanfaatkan kuasa AI di peranti: Membina CLI Chatbot Peribadi Pada masa lalu, konsep pembantu AI peribadi kelihatan seperti fiksyen sains. Bayangkan Alex, seorang peminat teknologi, bermimpi seorang sahabat AI yang pintar, yang tidak bergantung

AI untuk Kesihatan Mental dianalisis dengan penuh perhatian melalui inisiatif baru yang menarik di Stanford UniversityAI untuk Kesihatan Mental dianalisis dengan penuh perhatian melalui inisiatif baru yang menarik di Stanford UniversityApr 18, 2025 am 11:49 AM

Pelancaran AI4MH mereka berlaku pada 15 April, 2025, dan Luminary Dr. Tom Insel, M.D., pakar psikiatri yang terkenal dan pakar neurosains, berkhidmat sebagai penceramah kick-off. Dr. Insel terkenal dengan kerja cemerlangnya dalam penyelidikan kesihatan mental dan techno

Kelas Draf WNBA 2025 memasuki liga yang semakin meningkat dan melawan gangguan dalam talianKelas Draf WNBA 2025 memasuki liga yang semakin meningkat dan melawan gangguan dalam talianApr 18, 2025 am 11:44 AM

"Kami mahu memastikan bahawa WNBA kekal sebagai ruang di mana semua orang, pemain, peminat dan rakan kongsi korporat, berasa selamat, dihargai dan diberi kuasa," kata Engelbert, menangani apa yang telah menjadi salah satu cabaran sukan wanita yang paling merosakkan. Anno

Panduan Komprehensif untuk Struktur Data Terbina Python - Analytics VidhyaPanduan Komprehensif untuk Struktur Data Terbina Python - Analytics VidhyaApr 18, 2025 am 11:43 AM

Pengenalan Python cemerlang sebagai bahasa pengaturcaraan, terutamanya dalam sains data dan AI generatif. Manipulasi data yang cekap (penyimpanan, pengurusan, dan akses) adalah penting apabila berurusan dengan dataset yang besar. Kami pernah meliputi nombor dan st

Tayangan pertama dari model baru Openai berbanding dengan alternatifTayangan pertama dari model baru Openai berbanding dengan alternatifApr 18, 2025 am 11:41 AM

Sebelum menyelam, kaveat penting: Prestasi AI adalah spesifik yang tidak ditentukan dan sangat digunakan. Dalam istilah yang lebih mudah, perbatuan anda mungkin berbeza -beza. Jangan ambil artikel ini (atau lain -lain) sebagai perkataan akhir -sebaliknya, uji model ini pada senario anda sendiri

AI Portfolio | Bagaimana untuk membina portfolio untuk kerjaya AI?AI Portfolio | Bagaimana untuk membina portfolio untuk kerjaya AI?Apr 18, 2025 am 11:40 AM

Membina portfolio AI/ML yang menonjol: Panduan untuk Pemula dan Profesional Mewujudkan portfolio yang menarik adalah penting untuk mendapatkan peranan dalam kecerdasan buatan (AI) dan pembelajaran mesin (ML). Panduan ini memberi nasihat untuk membina portfolio

AI AI apa yang boleh dimaksudkan untuk operasi keselamatanAI AI apa yang boleh dimaksudkan untuk operasi keselamatanApr 18, 2025 am 11:36 AM

Hasilnya? Pembakaran, ketidakcekapan, dan jurang yang melebar antara pengesanan dan tindakan. Tak satu pun dari ini harus datang sebagai kejutan kepada sesiapa yang bekerja dalam keselamatan siber. Janji Agentic AI telah muncul sebagai titik perubahan yang berpotensi. Kelas baru ini

Google Versus Openai: AI berjuang untuk pelajarGoogle Versus Openai: AI berjuang untuk pelajarApr 18, 2025 am 11:31 AM

Impak segera berbanding perkongsian jangka panjang? Dua minggu yang lalu Openai melangkah ke hadapan dengan tawaran jangka pendek yang kuat, memberikan akses kepada pelajar A.S. dan Kanada.

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Alat panas

DVWA

DVWA

Damn Vulnerable Web App (DVWA) ialah aplikasi web PHP/MySQL yang sangat terdedah. Matlamat utamanya adalah untuk menjadi bantuan bagi profesional keselamatan untuk menguji kemahiran dan alatan mereka dalam persekitaran undang-undang, untuk membantu pembangun web lebih memahami proses mengamankan aplikasi web, dan untuk membantu guru/pelajar mengajar/belajar dalam persekitaran bilik darjah Aplikasi web keselamatan. Matlamat DVWA adalah untuk mempraktikkan beberapa kelemahan web yang paling biasa melalui antara muka yang mudah dan mudah, dengan pelbagai tahap kesukaran. Sila ambil perhatian bahawa perisian ini

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

SublimeText3 versi Inggeris

SublimeText3 versi Inggeris

Disyorkan: Versi Win, menyokong gesaan kod!

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Persekitaran pembangunan bersepadu PHP yang berkuasa

PhpStorm versi Mac

PhpStorm versi Mac

Alat pembangunan bersepadu PHP profesional terkini (2018.2.1).