Table des matières
Introduction
Objectifs d'apprentissage
Table des matières
Comprendre les bases des termes d'interaction
Représentation mathématique
Ajout d'un terme d'interaction
Comment les termes d'interaction influencent les coefficients de régression?
Exemple: activité des utilisateurs et temps passé
Scénario simulé: comportement de l'utilisateur sur une plate-forme de commerce électronique
Modèle sans terme d'interaction
Modèle avec un terme d'interaction
Comparaison des performances du modèle
Conclusion
Principaux à retenir
Questions fréquemment posées
Maison Périphériques technologiques IA Un guide pour comprendre les termes d'interaction

Un guide pour comprendre les termes d'interaction

Apr 15, 2025 am 09:56 AM

Introduction

Les termes d'interaction sont incorporés dans la modélisation de régression pour saisir l'effet de deux variables indépendantes ou plus dans la variable dépendante. Parfois, ce n'est pas seulement la relation simple entre les variables de contrôle et la variable cible qui est à l'étude, les termes d'interaction peuvent être très utiles à ces moments. Ceux-ci sont également utiles chaque fois que la relation entre une variable indépendante et la variable dépendante est conditionnelle au niveau d'une autre variable indépendante.

Cela implique bien sûr que l'effet d'un prédicteur sur la variable de réponse dépend du niveau d'un autre prédicteur. Dans ce blog, nous examinons l'idée des termes d'interaction à travers un scénario simulé: prédire à maintes reprises le temps que les utilisateurs passeraient sur un canal de commerce électronique en utilisant leur comportement passé.

Objectifs d'apprentissage

  • Comprendre comment les termes d'interaction améliorent le pouvoir prédictif des modèles de régression.
  • Apprenez à créer et à incorporer des termes d'interaction dans une analyse de régression.
  • Analyser l'impact des termes d'interaction sur la précision du modèle à travers un exemple pratique.
  • Visualiser et interpréter les effets des termes d'interaction sur les résultats prédits.
  • Gardez un aperçu de quand et pourquoi appliquer des termes d'interaction dans des scénarios du monde réel.

Cet article a été publié dans le cadre du Blogathon de la science des données.

Table des matières

  • Introduction
  • Comprendre les bases des termes d'interaction
  • Comment les termes d'interaction influencent les coefficients de régression?
  • Scénario simulé: comportement de l'utilisateur sur une plate-forme de commerce électronique
  • Modèle sans terme d'interaction
  • Modèle avec un terme d'interaction
  • Comparaison des performances du modèle
  • Conclusion
  • Questions fréquemment posées

Comprendre les bases des termes d'interaction

Dans la vraie vie, nous ne constatons pas qu'une variable fonctionne isolément des autres et que les modèles réels sont donc beaucoup plus complexes que ceux que nous étudions dans les classes. Par exemple, l'effet des actions de navigation des utilisateurs finaux tels que l'ajout d'articles à un panier sur le temps passé sur une plate-forme de commerce électronique diffère lorsque l'utilisateur ajoute l'élément à un panier et les achète. Ainsi, l'ajout de termes d'interaction en tant que variables à un modèle de régression permet de reconnaître ces intersections et, par conséquent, d'améliorer la forme physique du modèle en termes d'explication des modèles sous-jacents aux données observées et / ou de prédire les valeurs futures de la variable dépendante.

Représentation mathématique

Prenons un modèle de régression linéaire avec deux variables indépendantes, x1 et x2:

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

Lorsque y est la variable dépendante, β0 est l'interception, β1 et β2 sont les coefficients pour les variables indépendantes x1 et x2, respectivement, et le terme d'erreur.

Ajout d'un terme d'interaction

Pour inclure un terme d'interaction entre x1 et x2, nous introduisons une nouvelle variable x1⋅x2:

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

où β3 représente l'effet d'interaction entre x1 et x2. Le terme x1⋅x2 est le produit des deux variables indépendantes.

Comment les termes d'interaction influencent les coefficients de régression?

  • β0: L'interception, représentant la valeur attendue de Y lorsque toutes les variables indépendantes sont nulles.
  • β1: l'effet de x1 sur y lorsque x2 est nul.
  • β2: l'effet de x2 sur y lorsque x1 est nul.
  • β3: le changement dans l'effet de X1 sur Y pour un changement d'une unité dans X2, ou de manière équivalente, le changement dans l'effet de X2 sur Y pour un changement d'une unité dans X1.

Exemple: activité des utilisateurs et temps passé

Tout d'abord, créons un ensemble de données simulé pour représenter le comportement des utilisateurs dans une boutique en ligne. Les données se compose de:

  • ajouté_in_cart: indique si un utilisateur a ajouté des produits à son panier (1 pour l'ajout et 0 pour ne pas ajouter).
  • Acheté: si l'utilisateur a terminé ou non un achat (1 pour l'achèvement ou 0 pour la non-complétion).
  • Time_spent: le temps qu'un utilisateur a passé sur une plate-forme de commerce électronique. Notre objectif est de prédire la durée de la visite d'un utilisateur dans une boutique en ligne en analysant s'ils ajoutent des produits à son panier et effectuent une transaction.
 # Importer des bibliothèques
Importer des pandas en tant que PD
Importer Numpy comme NP

# Générer des données synthétiques
Def Generate_Synthetic_data (n_sample = 2000):

    np.random.seed (42)
    ajouté_in_cart = np.random.randint (0, 2, n_sample)
    Acheté = np.random.randint (0, 2, n_sample)
    Time_spent = 3 2 * Acheté 2.5 * ajouté_in_cart 4 * acheté * ajouté_in_cart np.random.ormal (0, 1, n_sample)
    return pd.dataframe ({'acheté': acheté, 'ajouté_in_cart': ajouté_in_cart, 'time_spent': time_spent})

df = generate_synthetic_data ()
df.head ()
Copier après la connexion

Sortir:

Un guide pour comprendre les termes d'interaction

Scénario simulé: comportement de l'utilisateur sur une plate-forme de commerce électronique

En tant que prochaine étape, nous construirons d'abord un modèle de régression des moindres carrés ordinaire en considérant ces actions du marché, mais sans couverture à leurs effets d'interaction. Nos hypothèses sont les suivantes: (Hypothèse 1) Il y a un effet du temps passé sur le site Web où chaque action est prise séparément. Maintenant, nous allons ensuite construire un deuxième modèle qui comprend le terme d'interaction qui existe entre l'ajout de produits dans le panier et la réalisation d'un achat.

Cela nous aidera à contrepasser l'impact de ces actions, séparément ou combinés sur le temps passé sur le site Web. Cela suggère que nous voulons savoir si les utilisateurs qui ajoutent des produits au panier et effectuent un achat passent plus de temps sur le site que le temps passé lorsque chaque comportement est considéré individuellement.

Modèle sans terme d'interaction

Après la construction du modèle, les résultats suivants ont été notés:

  • Avec une erreur quadratique moyenne (MSE) de 2,11, le modèle sans le terme d'interaction représente environ 80% (test R-carré) et 82% (train R-carré) de la variance dans le temps_pent. Cela indique que les prédictions Time_Spent sont, en moyenne, 2,11 unités au carré à partir du Time_pent réel. Bien que ce modèle puisse être amélioré, il est raisonnablement précis.
  • De plus, le tracé ci-dessous indique graphiquement que bien que le modèle fonctionne assez bien. Il y a encore beaucoup de place à l'amélioration, en particulier en termes de capture de valeurs plus élevées de Time_pent.
 # Importer des bibliothèques
de sklearn.model_selection import train_test_split
De Sklearn.Linear_Model Import Lineargression
De Sklearn.Metrics Import Mean_squared_error, R2_SCORE
importer statsmodels.api comme sm
de sklearn.model_selection import train_test_split
Importer Matplotlib.pyplot en tant que plt

# Modèle sans terme d'interaction
X = df [['acheté', 'ajouté_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)

# Ajouter une constante pour l'ordonnée
X_train_const = sm.add_constant (x_train)
X_test_const = sm.add_constant (x_test)

modèle = sm.ols (y_train, x_train_const) .fit ()
y_pred = modèle.predict (x_test_const)

# Calculer les métriques pour le modèle sans terme d'interaction
train_r2 = modèle.rsquared
test_r2 = r2_score (y_test, y_pred)
mse = mean_squared_error (y_test, y_pred)

Print ("Modèle sans terme d'interaction:")
Imprimer ('Score de formation R-Squared (%):', Round (Train_R2 * 100, 4))
Imprimer ('Test R-Squared Score (%):', Round (test_r2 * 100, 4))
Print ("MSE:", Round (MSE, 4))
print (Model.Summary ())


# Fonction pour tracer réel vs prévu
def tracé_actual_vs_preddit (y_test, y_pred, titre):

    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 («réel»)
    plt.ylabel («prédit»)
    plt.title (titre)
    plt.show ()

# Plot sans terme d'interaction
Plot_actual_vs_predit (y_test, y_pred, 'réel vs temps prédit passé (sans terme d'interaction)') ')
Copier après la connexion

Sortir:

Un guide pour comprendre les termes d'interaction

Un guide pour comprendre les termes d'interaction

Modèle avec un terme d'interaction

  • Un meilleur ajustement pour le modèle avec le terme d'interaction est indiqué par le tracé de diffusion avec le terme d'interaction, qui affiche les valeurs prédites sensiblement plus proches des valeurs réelles.
  • Le modèle explique beaucoup plus de la variance dans le Time_spent avec le terme d'interaction, comme le montre la valeur R-Squared Test plus élevée (de 80,36% à 90,46%).
  • Les prédictions du modèle avec le terme d'interaction sont plus précises, comme en témoignent le MSE inférieur (de 2,11 à 1,02).
  • L'alignement plus proche des points vers la ligne diagonale, en particulier pour des valeurs plus élevées de Time_pent, indique un ajustement amélioré. Le terme d'interaction aide à exprimer comment les actions des utilisateurs affectent collectivement le temps passé.
 # Ajouter un terme d'interaction
df ['acheté_added_in_cart'] = df ['acheté'] * df ['ajouté_in_cart']
X = df [['acheté', 'ajouté_in_cart', 'acheté_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)

# Ajouter une constante pour l'ordonnée
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 = modèle_with_interaction.predict (x_test_const)

# Calculer les métriques pour le modèle avec un terme d'interaction
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)

Print ("\ nModel avec terme d'interaction:")
Imprimer ('Score de formation R-Squared (%):', Round (Train_R2_With_Interaction * 100, 4))
Imprimer ('Test R-Squared Score (%):', Round (test_r2_with_interaction * 100, 4))
print ("MSE:", Round (mse_with_interaction, 4))
print (modèle_with_interaction.summary ())


# Plot avec terme d'interaction
PLOT_ACtual_vs_preddit (y_test, y_pred_with_interaction, 'réel vs temps prédit passé (avec terme d'interaction)')

# Comparaison d'impression
Print ("\ ncomparison des modèles:")
print ("R-Squared sans terme d'interaction:", Round (r2_score (y_test, y_pred) * 100,4))
print ("r-carré avec terme d'interaction:", rond (r2_score (y_test, y_pred_with_interaction) * 100,4))
print ("MSE sans terme d'interaction:", Round (Mean_squared_error (y_test, y_pred), 4)))
print ("MSE avec terme d'interaction:", Round (Mean_squared_error (y_test, y_pred_with_interaction), 4))
Copier après la connexion

Sortir:

Un guide pour comprendre les termes d'interaction

Un guide pour comprendre les termes d'interaction

Comparaison des performances du modèle

  • Les prédictions du modèle sans le terme d'interaction sont représentées par les points bleus. Lorsque les valeurs réelles de temps passé sont plus élevées, ces points sont plus dispersés à partir de la ligne diagonale.
  • Les prédictions du modèle avec le terme d'interaction sont représentées par les points rouges. Le modèle avec le terme d'interaction produit des prédictions plus précises. Surtout pour des valeurs réelles plus élevées, car ces points sont plus proches de la ligne diagonale.
 # Comparez le modèle avec et sans terme d'interaction

DEF PLOT_ACtual_vs_preditd_combined (y_test, y_pred1, y_pred2, title1, title2):

    Plt.Figure (FigSize = (10, 6))
    plt.scatter (y_test, y_pred1, edgecolors = 'bleu', label = title1, alpha = 0,6)
    plt.scatter (y_test, y_pred2, edgecolors = 'red', label = title2, alpha = 0,6)
    plt.plot ([y_test.min (), y_test.max ()], [y_test.min (), y_test.max ()], 'k--', lw = 2)
    plt.xLabel («réel»)
    plt.ylabel («prédit»)
    plt.title («réel vs temps d'utilisateur prédit passé»)
    plt.legend ()
    plt.show ()

PLOT_ACtual_vs_predited_combined (y_test, y_pred, y_pred_with_interaction, 'modèle sans terme d'interaction', 'modèle avec le terme d'interaction'))
Copier après la connexion

Sortir:

Un guide pour comprendre les termes d'interaction

Conclusion

L'amélioration des performances du modèle avec le terme d'interaction démontre que parfois l'ajout de termes d'interaction à votre modèle peut améliorer son importance. Cet exemple met en évidence comment les termes d'interaction peuvent capturer des informations supplémentaires qui ne sont pas apparentes à partir des seuls effets seuls. En pratique, la considération des termes d'interaction dans les modèles de régression peut potentiellement conduire à des prédictions plus précises et perspicaces.

Dans ce blog, nous avons d'abord généré un ensemble de données synthétiques pour simuler le comportement des utilisateurs sur une plate-forme de commerce électronique. Nous avons ensuite construit deux modèles de régression: un sans termes d'interaction et un avec des termes d'interaction. En comparant leurs performances, nous avons démontré l'impact significatif des termes d'interaction sur la précision du modèle.

Consultez le code complet et les ressources sur GitHub.

Principaux à retenir

  • Les modèles de régression avec des termes d'interaction peuvent aider à mieux comprendre les relations entre deux ou plusieurs variables et la variable cible en capturant leurs effets combinés.
  • L'inclusion des termes d'interaction peut améliorer considérablement les performances du modèle, comme en témoignent les valeurs R-Squared plus élevées et la MSE plus faible dans ce guide.
  • Les termes d'interaction ne sont pas seulement des concepts théoriques, ils peuvent être appliqués à des scénarios du monde réel.

Questions fréquemment posées

Q1. Que sont les termes d'interaction dans l'analyse de régression?

A. Ce sont des variables créées en multipliant deux ou plusieurs variables indépendantes. Ils sont utilisés pour capturer l'effet combiné de ces variables sur la variable dépendante. Cela peut fournir une compréhension plus nuancée des relations dans les données.

Q2. Quand dois-je envisager d'utiliser des termes d'interaction dans mon modèle?

A. Vous devriez envisager de l'utiliser lorsque vous soupçonnez que l'effet d'une variable indépendante sur la variable dépendante dépend du niveau d'une autre variable indépendante. Par exemple, si vous pensez que l'impact de l'ajout d'articles au panier sur le temps passé sur une plate-forme de commerce électronique dépend de la question de l'achat. Vous devez inclure un terme d'interaction entre ces variables.

Q3. Comment interpréter les coefficients des termes d'interaction?

A. Le coefficient d'un terme d'interaction représente le changement dans l'effet d'une variable indépendante sur la variable dépendante pour un changement d'unité dans une autre variable indépendante. Par exemple, dans notre exemple ci-dessus, nous avons un terme d'interaction entre acheté et ajouté_in_cart, le coefficient nous explique comment l'effet de l'ajout d'articles au chariot sur le temps passé change lorsqu'un achat est effectué.

Les médias présentés dans cet article ne sont pas détenus par l'analytique vidhya et sont utilisés à la discrétion de l'auteur.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Meilleurs générateurs d'art AI (gratuit & amp; payé) pour des projets créatifs Meilleurs générateurs d'art AI (gratuit & amp; payé) pour des projets créatifs Apr 02, 2025 pm 06:10 PM

L'article passe en revue les meilleurs générateurs d'art AI, discutant de leurs fonctionnalités, de leur aptitude aux projets créatifs et de la valeur. Il met en évidence MidJourney comme la meilleure valeur pour les professionnels et recommande Dall-E 2 pour un art personnalisable de haute qualité.

Début avec Meta Llama 3.2 - Analytics Vidhya Début avec Meta Llama 3.2 - Analytics Vidhya Apr 11, 2025 pm 12:04 PM

META'S LLAMA 3.2: un bond en avant dans l'IA multimodal et mobile Meta a récemment dévoilé Llama 3.2, une progression importante de l'IA avec de puissantes capacités de vision et des modèles de texte légers optimisés pour les appareils mobiles. S'appuyer sur le succès o

Meilleurs chatbots AI comparés (Chatgpt, Gemini, Claude & amp; plus) Meilleurs chatbots AI comparés (Chatgpt, Gemini, Claude & amp; plus) Apr 02, 2025 pm 06:09 PM

L'article compare les meilleurs chatbots d'IA comme Chatgpt, Gemini et Claude, en se concentrant sur leurs fonctionnalités uniques, leurs options de personnalisation et leurs performances dans le traitement et la fiabilité du langage naturel.

Chatgpt 4 o est-il disponible? Chatgpt 4 o est-il disponible? Mar 28, 2025 pm 05:29 PM

Chatgpt 4 est actuellement disponible et largement utilisé, démontrant des améliorations significatives dans la compréhension du contexte et la génération de réponses cohérentes par rapport à ses prédécesseurs comme Chatgpt 3.5. Les développements futurs peuvent inclure un interg plus personnalisé

Assistants d'écriture de l'IA pour augmenter votre création de contenu Assistants d'écriture de l'IA pour augmenter votre création de contenu Apr 02, 2025 pm 06:11 PM

L'article traite des meilleurs assistants d'écriture d'IA comme Grammarly, Jasper, Copy.ai, WireSonic et Rytr, en se concentrant sur leurs fonctionnalités uniques pour la création de contenu. Il soutient que Jasper excelle dans l'optimisation du référencement, tandis que les outils d'IA aident à maintenir le ton

Top 7 Système de chiffon agentique pour construire des agents d'IA Top 7 Système de chiffon agentique pour construire des agents d'IA Mar 31, 2025 pm 04:25 PM

2024 a été témoin d'un simple passage de l'utilisation des LLM pour la génération de contenu pour comprendre leur fonctionnement intérieur. Cette exploration a conduit à la découverte des agents de l'IA - les systèmes autonomes manipulant des tâches et des décisions avec une intervention humaine minimale. Construire

Choisir le meilleur générateur de voix d'IA: les meilleures options examinées Choisir le meilleur générateur de voix d'IA: les meilleures options examinées Apr 02, 2025 pm 06:12 PM

L'article examine les meilleurs générateurs de voix d'IA comme Google Cloud, Amazon Polly, Microsoft Azure, IBM Watson et Descript, en se concentrant sur leurs fonctionnalités, leur qualité vocale et leur aptitude à différents besoins.

AV Bytes: Meta & # 039; S Llama 3.2, Google's Gemini 1.5, et plus AV Bytes: Meta & # 039; S Llama 3.2, Google's Gemini 1.5, et plus Apr 11, 2025 pm 12:01 PM

Le paysage de l'IA de cette semaine: un tourbillon de progrès, de considérations éthiques et de débats réglementaires. Les principaux acteurs comme Openai, Google, Meta et Microsoft ont déclenché un torrent de mises à jour, des nouveaux modèles révolutionnaires aux changements cruciaux de LE

See all articles