Skip to main content

Linear mixed models with one predictor depending on another in Python

I've recently started analysing the data for a project using linear mixed models but am not sure how to deal with a predictor that depends on another.

In my study, each participant reported two events (Event: A & B) and whether they discussed each event with someone else (Status: shared or not shared). In other words, besides event which was a within subjects predictor, I also have two responses from each participant regarding status for each event. A participant can have discussed Event A but not Event B (or the vice versa), both events, or neither of the events. The dependent variable is perceived emotional change.

I initially structured the model in this way:

mod = smf.mixedlm("emotion_change ~ Event * Status", data, groups=data["participant"]).fit()

However, I realised that the model should probably be hierarchical because each Status response was specifically for one of the events, so I created two variables instead: Status_PE and Status_NS, and the new model looked like this:

mod = smf.mixedlm("emotion_change ~ Event * Status_PE * Status_NS", data, groups=data["participant"]).fit()

Then, I realised putting all these three predictors together may not be a good idea because Status_PE interacting with Status_NS doesn't make sense, so I adjusted it this way:

mod = smf.mixedlm("emotion_change ~ Event + Status + Event : Status_PE + Event : Status_NS", data, groups=data["participant"]).fit()

But the problem now is, I’m looking at the effects of each event on emotional change based on whether the event was discussed, but what I also want to test is whether there’s any difference in the outcome variable between different combinations of event and status. For example, let’s say I know that discussing an event makes people experience greater emotional change than not discussing an event, but this observation may only applies to one of the events.

So, my question is how I should deal with the IVs that are not independent of each other and how I should structure the model to test what I want to test?

Thank you for reading my question!



source https://stackoverflow.com/questions/72062776/linear-mixed-models-with-one-predictor-depending-on-another-in-python

Comments

Popular posts from this blog

How to show number of registered users in Laravel based on usertype?

i'm trying to display data from the database in the admin dashboard i used this: <?php use Illuminate\Support\Facades\DB; $users = DB::table('users')->count(); echo $users; ?> and i have successfully get the correct data from the database but what if i want to display a specific data for example in this user table there is "usertype" that specify if the user is normal user or admin i want to user the same code above but to display a specific usertype i tried this: <?php use Illuminate\Support\Facades\DB; $users = DB::table('users')->count()->WHERE usertype =admin; echo $users; ?> but it didn't work, what am i doing wrong? source https://stackoverflow.com/questions/68199726/how-to-show-number-of-registered-users-in-laravel-based-on-usertype

Why is my reports service not connecting?

I am trying to pull some data from a Postgres database using Node.js and node-postures but I can't figure out why my service isn't connecting. my routes/index.js file: const express = require('express'); const router = express.Router(); const ordersCountController = require('../controllers/ordersCountController'); const ordersController = require('../controllers/ordersController'); const weeklyReportsController = require('../controllers/weeklyReportsController'); router.get('/orders_count', ordersCountController); router.get('/orders', ordersController); router.get('/weekly_reports', weeklyReportsController); module.exports = router; My controllers/weeklyReportsController.js file: const weeklyReportsService = require('../services/weeklyReportsService'); const weeklyReportsController = async (req, res) => { try { const data = await weeklyReportsService; res.json({data}) console...

ValueError: X has 10 features, but LinearRegression is expecting 1 features as input

So, I am trying to predict the model but its throwing error like it has 10 features but it expacts only 1. So I am confused can anyone help me with it? more importantly its not working for me when my friend runs it. It works perfectly fine dose anyone know the reason about it? cv = KFold(n_splits = 10) all_loss = [] for i in range(9): # 1st for loop over polynomial orders poly_order = i X_train = make_polynomial(x, poly_order) loss_at_order = [] # initiate a set to collect loss for CV for train_index, test_index in cv.split(X_train): print('TRAIN:', train_index, 'TEST:', test_index) X_train_cv, X_test_cv = X_train[train_index], X_test[test_index] t_train_cv, t_test_cv = t[train_index], t[test_index] reg.fit(X_train_cv, t_train_cv) loss_at_order.append(np.mean((t_test_cv - reg.predict(X_test_cv))**2)) # collect loss at fold all_loss.append(np.mean(loss_at_order)) # collect loss at order plt.plot(np.log(al...