[Mne_analysis] mne.stats.linear_regression

Alik Widge alik.widge at gmail.com
Fri Dec 2 07:48:24 EST 2016
Search archives:

Indeed, this has a trivial solution: drop the column corresponding to your
"base" condition, which will then load on the intercept.

On Dec 2, 2016 5:49 AM, "Alexandre Gramfort" <
alexandre.gramfort at telecom-paristech.fr> wrote:

> hi Emma,
>
> yes in your case the intercept column is the sum of the dummy variables
> so your design matrix is ill-posed.
>
> it's a standard GLM problem. Cf. articles and textbooks
>
> Maybe someone has a good suggestion for you.
>
> Alex
>
>
> On Fri, Dec 2, 2016 at 11:03 AM, Emma Chen <emma.chen.w at nyu.edu> wrote:
>
>> Hi Mne users,
>>
>> Is there a way to use mne.stats.linear_regression on epoch data or stc
>> data  with *binary/categorical* predictors?
>>
>> In the MEG data I'm analyzing, the  regressor I would like to use is a
>> categorical variable with 4 different categories of objects indicating
>> which type of object participants saw in each trial.
>>
>> I've tried to create the design_matrix with a column of intercept + 4
>> column of dummy variables for each category. But it didn't work. Following
>> is the error messages I got:
>>
>> ------------------------------------------------------------
>> ---------------
>>
>> LinAlgError                               Traceback (most recent call
>> last)
>> <ipython-input-49-728b72ea06ce> in <module>()
>> ----> 1 res=mne.stats.linear_regression(epochs_ALL, design_matrix, names)
>> /Users/wc47/anaconda/envs/mne-python/lib/python2.7/site-packages/mne/stats/regression.pyc
>> in linear_regression(inst, design_matrix, names)
>>      85     logger.info(msg + ', (%s targets, %s regressors)' %
>>      86                 (np.product(data.shape[1:]), len(names)))
>> ---> 87     lm_params = _fit_lm(data, design_matrix, names)
>>      88     lm = namedtuple('lm', 'beta stderr t_val p_val mlog10_p_val')
>>      89     lm_fits = {}
>>
>> /Users/wc47/anaconda/envs/mne-python/lib/python2.7/site-packages/mne/stats/regression.pyc
>> in _fit_lm(data, design_matrix, names)
>>     125     df = n_rows - n_predictors
>>     126     sqrt_noise_var = np.sqrt(resid_sum_squares /
>> df).reshape(data.shape[1:])
>> --> 127     design_invcov = linalg.inv(np.dot(design_matrix.T,
>> design_matrix))
>>     128     unscaled_stderrs = np.sqrt(np.diag(design_invcov))
>>     129     tiny = np.finfo(np.float64).tiny
>>
>> /Users/wc47/anaconda/envs/mne-python/lib/python2.7/site-packages/scipy/linalg/basic.pyc
>> in inv(a, overwrite_a, check_finite)
>>     685         inv_a, info = getri(lu, piv, lwork=lwork, overwrite_lu=1)
>>     686     if info > 0:
>> --> 687         raise LinAlgError("singular matrix")
>>     688     if info < 0:
>>     689         raise ValueError('illegal value in %d-th argument of
>> internal '
>>
>> LinAlgError: singular matrix
>> ------------------------------------------------------------
>> ---------------
>>
>> Thanks in advance!
>>
>> Best,
>> Emma
>>
>> ------
>> Emma(Wei) Chen, Ph.D.
>> Objects and Knowledge Laboratory
>> New York University Abu Dhabi
>> PO Box 129188
>> Abu Dhabi, United Arab Emirates
>>
>> _______________________________________________
>> Mne_analysis mailing list
>> Mne_analysis at nmr.mgh.harvard.edu
>> https://mail.nmr.mgh.harvard.edu/mailman/listinfo/mne_analysis
>>
>>
>> The information in this e-mail is intended only for the person to whom it
>> is
>> addressed. If you believe this e-mail was sent to you in error and the
>> e-mail
>> contains patient information, please contact the Partners Compliance
>> HelpLine at
>> http://www.partners.org/complianceline . If the e-mail was sent to you
>> in error
>> but does not contain patient information, please contact the sender and
>> properly
>> dispose of the e-mail.
>>
>>
>
> _______________________________________________
> Mne_analysis mailing list
> Mne_analysis at nmr.mgh.harvard.edu
> https://mail.nmr.mgh.harvard.edu/mailman/listinfo/mne_analysis
>
>
> The information in this e-mail is intended only for the person to whom it
> is
> addressed. If you believe this e-mail was sent to you in error and the
> e-mail
> contains patient information, please contact the Partners Compliance
> HelpLine at
> http://www.partners.org/complianceline . If the e-mail was sent to you in
> error
> but does not contain patient information, please contact the sender and
> properly
> dispose of the e-mail.
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.nmr.mgh.harvard.edu/pipermail/mne_analysis/attachments/20161202/35108982/attachment.html 


More information about the Mne_analysis mailing list