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

Strong empirical falsification of quantum mechanics based on vacuum energy density

How do you respond to a colleague from another team when they're wrongly expecting that you'll help them?

Using substitution ciphers to generate new alphabets in a novel

What is the evidence for the "tyranny of the majority problem" in a direct democracy context?

How to cover method return statement in Apex Class?

Redundant comparison & "if" before assignment

Non-trope happy ending?

Is there a RAID 0 Equivalent for RAM?

I'm the sea and the sun

Hero deduces identity of a killer

Biological Blimps: Propulsion

Is aluminum electrical wire used on aircraft?

Quoting Keynes in a lecture

What if a revenant (monster) gains fire resistance?

Calculating total slots

Can I still be respawned if I die by falling off the map?

Why does the Sun have different day lengths, but not the gas giants?

Is there a way to get `mathscr' with lower case letters in pdfLaTeX?

15% tax on $7.5k earnings. Is that right?

Yosemite Fire Rings - What to Expect?

Sums of entire surjective functions

Does an advisor owe his/her student anything? Will an advisor keep a PhD student only out of pity?

Are Captain Marvel's powers affected by Thanos' actions in Infinity War

Can a College of Swords bard use a Blade Flourish option on an opportunity attack provoked by their own Dissonant Whispers spell?



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
    Mar 19 at 4:31
















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
    Mar 19 at 4:31














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 Mar 19 at 10:01









kjetil b halvorsen

31.3k984224




31.3k984224










asked Mar 19 at 4:00









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
    Mar 19 at 4:31













  • 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
    Mar 19 at 4:31








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
Mar 19 at 4:31





$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
Mar 19 at 4:31











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 Mar 19 at 4:27

























        answered Mar 19 at 4:09









        Stephan KolassaStephan Kolassa

        47k7100175




        47k7100175



























            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

            Luettelo Yhdysvaltain laivaston lentotukialuksista Lähteet | Navigointivalikko

            Adding axes to figuresAdding axes labels to LaTeX figuresLaTeX equivalent of ConTeXt buffersRotate a node but not its content: the case of the ellipse decorationHow to define the default vertical distance between nodes?TikZ scaling graphic and adjust node position and keep font sizeNumerical conditional within tikz keys?adding axes to shapesAlign axes across subfiguresAdding figures with a certain orderLine up nested tikz enviroments or how to get rid of themAdding axes labels to LaTeX figures

            Gary (muusikko) Sisällysluettelo Historia | Rockin' High | Lähteet | Aiheesta muualla | NavigointivalikkoInfobox OKTuomas "Gary" Keskinen Ancaran kitaristiksiProjekti Rockin' High