0

I am working with the following dataframe, called test:

    y                intercept      x
0   -1.6168468132687293 1           NA
1   1.5500031232431757  1           NA
2   1.5952617833602785  1           1.5500031232431757
3   1.1390724309357498  1           1.5952617833602785
4   0.9950311340335872  1           1.1390724309357498
5   0.7095780139613861  1           0.9950311340335872
6   0.5962529862944801  1           0.7095780139613861
7   0.6555353674581792  1           0.5962529862944801
8   1.0008751093886736  1           0.6555353674581792
9   1.2648319050758074  1           1.0008751093886736

I am trying to apply the smf.quantreg() function to the dataframe as follows:

import statsmodels.formula.api as smf
Output_pre = smf.quantreg('y ~ intercept + x', test , missing = 'drop')
Output = Output_pre.fit(q=0.25)

The equivalent standard statsmodels.ols() function works just fine. However, applying the smf.quantreg() function yields the following error:

ValueError: operands could not be broadcast together with shapes (3,) (2,) 

Why is that so and how do I solve this issue?

shenflow
  • 345
  • 2
  • 12

1 Answers1

0

I found out myself. By default, the function gives an intercept. Hence the input matrix is not full rank when including a second intercept (two columns are perfectly colinear).

shenflow
  • 345
  • 2
  • 12