Why is the intercept typed in as a 1 in stats packages (R, python)Advice on a good production level SPC (statistical process control) package?Understanding what Dassault iSight is doing?What languages are commonly used in medical statistics?What statistical software does NOT provide for Classification and Regression modelsHow must one handle ordinal independent variables when modeling interactions?Predicting with GLM using Gaussian distributed dataStandard error for rolling regressionSlope interpretation in simple linear regressionAlternatives to Journal of Statistical Software?Non-straight lines in random intercept random slope plots

How do you justify more code being written by following clean code practices?

Why doesn't Gödel's incompleteness theorem apply to false statements?

Is there a distance limit for minecart tracks?

PTIJ: Which Dr. Seuss books should one obtain?

How do you say "Trust your struggle." in French?

Why didn't Voldemort know what Grindelwald looked like?

Why is "la Gestapo" feminine?

How to get directions in deep space?

Writing in a Christian voice

Asserting that Atheism and Theism are both faith based positions

When is the exact date for EOL of Ubuntu 14.04 LTS?

Does capillary rise violate hydrostatic paradox?

Calculate Pi using Monte Carlo

How can a new country break out from a developed country without war?

Recursively move files within sub directories

Exposing a company lying about themselves in a tightly knit industry (videogames) : Is my career at risk on the long run?

Derivative of an interpolated function

What is the period/term used describe Giuseppe Arcimboldo's style of painting?

What properties make a magic weapon befit a Rogue more than a DEX-based Fighter?

How to test the sharpness of a knife?

How to split IPA spelling into syllables

Trouble reading roman numeral notation with flats

Started in 1987 vs. Starting in 1987

"Oh no!" in Latin



Why is the intercept typed in as a 1 in stats packages (R, python)


Advice on a good production level SPC (statistical process control) package?Understanding what Dassault iSight is doing?What languages are commonly used in medical statistics?What statistical software does NOT provide for Classification and Regression modelsHow must one handle ordinal independent variables when modeling interactions?Predicting with GLM using Gaussian distributed dataStandard error for rolling regressionSlope interpretation in simple linear regressionAlternatives to Journal of Statistical Software?Non-straight lines in random intercept random slope plots













7












$begingroup$


When using statistics software, When defining your linear models, why is the intercept typed in as a 1, rather than "const" or "intercept" or something. What significance does 1 have?



Is there some historic reason? Or is this logical in some way I am failing to grasp? The intercept could very well be any number.



Example from statsmodels library in python:



model = smf.ols('Height ~ 1', data = height_sample_data)


I know lmer package for R is very similar.










share|cite|improve this question











$endgroup$







  • 5




    $begingroup$
    The intercept is the coefficient (which indeed could have any value), but what you enter into the regression program when you fit the model are not the coefficients, but the things you multiply the coefficients by in the regression equation (the $x$'s). What do you multiply the intercept by in the regression equation? (Note that $beta_0 times 1 = beta_0$.)
    $endgroup$
    – Glen_b
    21 hours ago
















7












$begingroup$


When using statistics software, When defining your linear models, why is the intercept typed in as a 1, rather than "const" or "intercept" or something. What significance does 1 have?



Is there some historic reason? Or is this logical in some way I am failing to grasp? The intercept could very well be any number.



Example from statsmodels library in python:



model = smf.ols('Height ~ 1', data = height_sample_data)


I know lmer package for R is very similar.










share|cite|improve this question











$endgroup$







  • 5




    $begingroup$
    The intercept is the coefficient (which indeed could have any value), but what you enter into the regression program when you fit the model are not the coefficients, but the things you multiply the coefficients by in the regression equation (the $x$'s). What do you multiply the intercept by in the regression equation? (Note that $beta_0 times 1 = beta_0$.)
    $endgroup$
    – Glen_b
    21 hours ago














7












7








7


2



$begingroup$


When using statistics software, When defining your linear models, why is the intercept typed in as a 1, rather than "const" or "intercept" or something. What significance does 1 have?



Is there some historic reason? Or is this logical in some way I am failing to grasp? The intercept could very well be any number.



Example from statsmodels library in python:



model = smf.ols('Height ~ 1', data = height_sample_data)


I know lmer package for R is very similar.










share|cite|improve this question











$endgroup$




When using statistics software, When defining your linear models, why is the intercept typed in as a 1, rather than "const" or "intercept" or something. What significance does 1 have?



Is there some historic reason? Or is this logical in some way I am failing to grasp? The intercept could very well be any number.



Example from statsmodels library in python:



model = smf.ols('Height ~ 1', data = height_sample_data)


I know lmer package for R is very similar.







regression software intercept






share|cite|improve this question















share|cite|improve this question













share|cite|improve this question




share|cite|improve this question








edited 15 hours ago









kjetil b halvorsen

31.3k984224




31.3k984224










asked 21 hours ago









Adam BAdam B

21418




21418







  • 5




    $begingroup$
    The intercept is the coefficient (which indeed could have any value), but what you enter into the regression program when you fit the model are not the coefficients, but the things you multiply the coefficients by in the regression equation (the $x$'s). What do you multiply the intercept by in the regression equation? (Note that $beta_0 times 1 = beta_0$.)
    $endgroup$
    – Glen_b
    21 hours ago













  • 5




    $begingroup$
    The intercept is the coefficient (which indeed could have any value), but what you enter into the regression program when you fit the model are not the coefficients, but the things you multiply the coefficients by in the regression equation (the $x$'s). What do you multiply the intercept by in the regression equation? (Note that $beta_0 times 1 = beta_0$.)
    $endgroup$
    – Glen_b
    21 hours ago








5




5




$begingroup$
The intercept is the coefficient (which indeed could have any value), but what you enter into the regression program when you fit the model are not the coefficients, but the things you multiply the coefficients by in the regression equation (the $x$'s). What do you multiply the intercept by in the regression equation? (Note that $beta_0 times 1 = beta_0$.)
$endgroup$
– Glen_b
21 hours ago





$begingroup$
The intercept is the coefficient (which indeed could have any value), but what you enter into the regression program when you fit the model are not the coefficients, but the things you multiply the coefficients by in the regression equation (the $x$'s). What do you multiply the intercept by in the regression equation? (Note that $beta_0 times 1 = beta_0$.)
$endgroup$
– Glen_b
21 hours ago











1 Answer
1






active

oldest

votes


















16












$begingroup$

It is logical, once you consider the matrix notation that your formula will be translated into internally. In the matrix, the non-constant predictors will be translated into (one or more) columns, and the intercept will be translated into a column consisting entirely of ones.



For instance, in R you would write a very simple OLS as:



lm(z~1+x+y)


In matrix notation, this would be translated into a model



$$ beginpmatrix z_1 \ z_2 \ vdots \ z_n endpmatrix =
beginpmatrix 1 & x_1 & y_1 \ 1 & x_2 & y_2 \ vdots & vdots & vdots \ 1 & x_n & y_n endpmatrix
beginpmatrix beta_0 \ beta_x \ beta_z endpmatrix
+beginpmatrix epsilon_1 \ epsilon_2 \ vdots \ epsilon_n endpmatrix,
$$



and now you see where the $1$ comes from.




Actually, you could leave the 1+ out, since R will always presume you want to include an intercept, so this is completely equivalent to



lm(z~x+y).


However, if you want to suppress the intercept, you would write something like



lm(z~x+y-1),


which would be translated into a matrix without a 1 column:



$$ beginpmatrix z_1 \ z_2 \ vdots \ z_n endpmatrix =
beginpmatrix x_1 & y_1 \ x_2 & y_2 \ vdots & vdots \ x_n & y_n endpmatrix
beginpmatrix beta_x \ beta_z endpmatrix
+beginpmatrix epsilon_1 \ epsilon_2 \ vdots \ epsilon_n endpmatrix,
$$






share|cite|improve this answer











$endgroup$












    Your Answer





    StackExchange.ifUsing("editor", function ()
    return StackExchange.using("mathjaxEditing", function ()
    StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix)
    StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["$", "$"], ["\\(","\\)"]]);
    );
    );
    , "mathjax-editing");

    StackExchange.ready(function()
    var channelOptions =
    tags: "".split(" "),
    id: "65"
    ;
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function()
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled)
    StackExchange.using("snippets", function()
    createEditor();
    );

    else
    createEditor();

    );

    function createEditor()
    StackExchange.prepareEditor(
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: false,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: null,
    bindNavPrevention: true,
    postfix: "",
    imageUploader:
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    ,
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    );



    );













    draft saved

    draft discarded


















    StackExchange.ready(
    function ()
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstats.stackexchange.com%2fquestions%2f398259%2fwhy-is-the-intercept-typed-in-as-a-1-in-stats-packages-r-python%23new-answer', 'question_page');

    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    16












    $begingroup$

    It is logical, once you consider the matrix notation that your formula will be translated into internally. In the matrix, the non-constant predictors will be translated into (one or more) columns, and the intercept will be translated into a column consisting entirely of ones.



    For instance, in R you would write a very simple OLS as:



    lm(z~1+x+y)


    In matrix notation, this would be translated into a model



    $$ beginpmatrix z_1 \ z_2 \ vdots \ z_n endpmatrix =
    beginpmatrix 1 & x_1 & y_1 \ 1 & x_2 & y_2 \ vdots & vdots & vdots \ 1 & x_n & y_n endpmatrix
    beginpmatrix beta_0 \ beta_x \ beta_z endpmatrix
    +beginpmatrix epsilon_1 \ epsilon_2 \ vdots \ epsilon_n endpmatrix,
    $$



    and now you see where the $1$ comes from.




    Actually, you could leave the 1+ out, since R will always presume you want to include an intercept, so this is completely equivalent to



    lm(z~x+y).


    However, if you want to suppress the intercept, you would write something like



    lm(z~x+y-1),


    which would be translated into a matrix without a 1 column:



    $$ beginpmatrix z_1 \ z_2 \ vdots \ z_n endpmatrix =
    beginpmatrix x_1 & y_1 \ x_2 & y_2 \ vdots & vdots \ x_n & y_n endpmatrix
    beginpmatrix beta_x \ beta_z endpmatrix
    +beginpmatrix epsilon_1 \ epsilon_2 \ vdots \ epsilon_n endpmatrix,
    $$






    share|cite|improve this answer











    $endgroup$

















      16












      $begingroup$

      It is logical, once you consider the matrix notation that your formula will be translated into internally. In the matrix, the non-constant predictors will be translated into (one or more) columns, and the intercept will be translated into a column consisting entirely of ones.



      For instance, in R you would write a very simple OLS as:



      lm(z~1+x+y)


      In matrix notation, this would be translated into a model



      $$ beginpmatrix z_1 \ z_2 \ vdots \ z_n endpmatrix =
      beginpmatrix 1 & x_1 & y_1 \ 1 & x_2 & y_2 \ vdots & vdots & vdots \ 1 & x_n & y_n endpmatrix
      beginpmatrix beta_0 \ beta_x \ beta_z endpmatrix
      +beginpmatrix epsilon_1 \ epsilon_2 \ vdots \ epsilon_n endpmatrix,
      $$



      and now you see where the $1$ comes from.




      Actually, you could leave the 1+ out, since R will always presume you want to include an intercept, so this is completely equivalent to



      lm(z~x+y).


      However, if you want to suppress the intercept, you would write something like



      lm(z~x+y-1),


      which would be translated into a matrix without a 1 column:



      $$ beginpmatrix z_1 \ z_2 \ vdots \ z_n endpmatrix =
      beginpmatrix x_1 & y_1 \ x_2 & y_2 \ vdots & vdots \ x_n & y_n endpmatrix
      beginpmatrix beta_x \ beta_z endpmatrix
      +beginpmatrix epsilon_1 \ epsilon_2 \ vdots \ epsilon_n endpmatrix,
      $$






      share|cite|improve this answer











      $endgroup$















        16












        16








        16





        $begingroup$

        It is logical, once you consider the matrix notation that your formula will be translated into internally. In the matrix, the non-constant predictors will be translated into (one or more) columns, and the intercept will be translated into a column consisting entirely of ones.



        For instance, in R you would write a very simple OLS as:



        lm(z~1+x+y)


        In matrix notation, this would be translated into a model



        $$ beginpmatrix z_1 \ z_2 \ vdots \ z_n endpmatrix =
        beginpmatrix 1 & x_1 & y_1 \ 1 & x_2 & y_2 \ vdots & vdots & vdots \ 1 & x_n & y_n endpmatrix
        beginpmatrix beta_0 \ beta_x \ beta_z endpmatrix
        +beginpmatrix epsilon_1 \ epsilon_2 \ vdots \ epsilon_n endpmatrix,
        $$



        and now you see where the $1$ comes from.




        Actually, you could leave the 1+ out, since R will always presume you want to include an intercept, so this is completely equivalent to



        lm(z~x+y).


        However, if you want to suppress the intercept, you would write something like



        lm(z~x+y-1),


        which would be translated into a matrix without a 1 column:



        $$ beginpmatrix z_1 \ z_2 \ vdots \ z_n endpmatrix =
        beginpmatrix x_1 & y_1 \ x_2 & y_2 \ vdots & vdots \ x_n & y_n endpmatrix
        beginpmatrix beta_x \ beta_z endpmatrix
        +beginpmatrix epsilon_1 \ epsilon_2 \ vdots \ epsilon_n endpmatrix,
        $$






        share|cite|improve this answer











        $endgroup$



        It is logical, once you consider the matrix notation that your formula will be translated into internally. In the matrix, the non-constant predictors will be translated into (one or more) columns, and the intercept will be translated into a column consisting entirely of ones.



        For instance, in R you would write a very simple OLS as:



        lm(z~1+x+y)


        In matrix notation, this would be translated into a model



        $$ beginpmatrix z_1 \ z_2 \ vdots \ z_n endpmatrix =
        beginpmatrix 1 & x_1 & y_1 \ 1 & x_2 & y_2 \ vdots & vdots & vdots \ 1 & x_n & y_n endpmatrix
        beginpmatrix beta_0 \ beta_x \ beta_z endpmatrix
        +beginpmatrix epsilon_1 \ epsilon_2 \ vdots \ epsilon_n endpmatrix,
        $$



        and now you see where the $1$ comes from.




        Actually, you could leave the 1+ out, since R will always presume you want to include an intercept, so this is completely equivalent to



        lm(z~x+y).


        However, if you want to suppress the intercept, you would write something like



        lm(z~x+y-1),


        which would be translated into a matrix without a 1 column:



        $$ beginpmatrix z_1 \ z_2 \ vdots \ z_n endpmatrix =
        beginpmatrix x_1 & y_1 \ x_2 & y_2 \ vdots & vdots \ x_n & y_n endpmatrix
        beginpmatrix beta_x \ beta_z endpmatrix
        +beginpmatrix epsilon_1 \ epsilon_2 \ vdots \ epsilon_n endpmatrix,
        $$







        share|cite|improve this answer














        share|cite|improve this answer



        share|cite|improve this answer








        edited 21 hours ago

























        answered 21 hours ago









        Stephan KolassaStephan Kolassa

        46.9k799174




        46.9k799174



























            draft saved

            draft discarded
















































            Thanks for contributing an answer to Cross Validated!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid


            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.

            Use MathJax to format equations. MathJax reference.


            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstats.stackexchange.com%2fquestions%2f398259%2fwhy-is-the-intercept-typed-in-as-a-1-in-stats-packages-r-python%23new-answer', 'question_page');

            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            Sum ergo cogito? 1 nng

            三茅街道4182Guuntc Dn precexpngmageondP