lingam icon indicating copy to clipboard operation
lingam copied to clipboard

In VARLiNGAM, different behavior with the same data

Open kitahara-neut opened this issue 1 year ago • 4 comments

I ran the following code and an error occurred:

rng = np.random.default_rng(seed=0)
x = rng.random(size=80)
y = 10 * x
df_x_y = pd.DataFrame({'x': x, 'y': y})
lingam.VARLiNGAM(random_state=0).fit(df_x_y)

However, no error occurred when I ran the following code:

df_y_x = pd.DataFrame({'y': y, 'x': x})
lingam.VARLiNGAM(random_state=0).fit(df_y_x)

The results were different even though the data seemed to be the same.

I think this is a bug, but please check it.

kitahara-neut avatar Mar 06 '24 07:03 kitahara-neut

Hi @kitahara-neut, Thanks for your report. Please let me know what kind of error you get.

ikeuchi-screen avatar Mar 06 '24 07:03 ikeuchi-screen

Hi @ikeuchi-screen, I got the following error:

numpy.linalg.LinAlgError: 2-th leading minor of the array is not positive definite

kitahara-neut avatar Mar 06 '24 08:03 kitahara-neut

The API that raises the exception is statsmodels.tsa.vector_ar.var_model.VAR. The behavior depends on its implementation.

haraoka-screen avatar Mar 15 '24 09:03 haraoka-screen

Hi @haraoka-screen, Thank you for your survey.

While I understand that the cause is not due to lingam, I think that the different behavior with the same data is a problem.

In this case, is it okay to trust the results obtained without any errors?

Or, is it expected that errors should occur with the above data?

kitahara-neut avatar Mar 29 '24 06:03 kitahara-neut