# Weighted linear regression with confidence interval

**URL:** <https://discourse.julialang.org/t/weighted-linear-regression-with-confidence-interval/60610>\
**Category:** General Usage\
**Tags:** package, regression\
**Created:** [May 6, 2021, 12:41am UTC](https://discourse.julialang.org/t/weighted-linear-regression-with-confidence-interval/60610 "2021-05-06T00:41:07Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![Okarin99](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/okarin99/32/21397_2.png) [@Okarin99](https://discourse.julialang.org/u/Okarin99)\
**Post date:** [May 6, 2021, 12:41am UTC](https://discourse.julialang.org/t/weighted-linear-regression-with-confidence-interval/60610/1 "2021-05-06T00:41:07Z")

</div>

Hi,

is there a way to do weighted linear regression and predict the confidence interval in Julia? I think with glm it is only implemented for non weighted linear regression.

Thank you for your answers and have a nice day 🙂

---

<div class="post-metadata">

**Author:** ![AquaIndigo](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/aquaindigo/32/15820_2.png) [@AquaIndigo](https://discourse.julialang.org/u/AquaIndigo)\
**Post date:** [May 6, 2021, 3:59am UTC](https://discourse.julialang.org/t/weighted-linear-regression-with-confidence-interval/60610/2 "2021-05-06T03:59:17Z")

</div>

`glm` supports `wts` keyword argument

---

<div class="post-metadata">

**Author:** ![Okarin99](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/okarin99/32/21397_2.png) [@Okarin99](https://discourse.julialang.org/u/Okarin99)\
**Post date:** [May 6, 2021, 8:10am UTC](https://discourse.julialang.org/t/weighted-linear-regression-with-confidence-interval/60610/3 "2021-05-06T08:10:00Z")

</div>

Yeah but you get an error if you call predict with interval = :confidence if you use wts.

---

<div class="post-metadata">

**Author:** ![AquaIndigo](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/aquaindigo/32/15820_2.png) [@AquaIndigo](https://discourse.julialang.org/u/AquaIndigo)\
**Post date:** [May 6, 2021, 8:29am UTC](https://discourse.julialang.org/t/weighted-linear-regression-with-confidence-interval/60610/4 "2021-05-06T08:29:58Z")

</div>

```julia
julia> df = DataFrame(x = [1, 2, 3.], y = [1, 3, 4.])

julia> df.w = [2, 3, 4]

julia> fit1 = glm(@formula(y ~ x), df, Normal(), wts = df.w)

julia> predict(fit1, df[:, [:x]], interval=:confidence)
3×3 DataFrame
│ Row │ prediction │ lower │ upper │
│ │ Float64? │ Float64? │ Float64? │
├─────┼────────────┼──────────┼──────────┤
│ 1 │ 1.24 │ 0.923618 │ 1.55638 │
│ 2 │ 2.68 │ 2.50221 │ 2.85779 │
│ 3 │ 4.12 │ 3.87927 │ 4.36073 │

```

---

<div class="post-metadata">

**Author:** ![AquaIndigo](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/aquaindigo/32/15820_2.png) [@AquaIndigo](https://discourse.julialang.org/u/AquaIndigo)\
**Post date:** [May 6, 2021, 8:33am UTC](https://discourse.julialang.org/t/weighted-linear-regression-with-confidence-interval/60610/5 "2021-05-06T08:33:00Z")

</div>

`lm` actually gives

```julia
ERROR: prediction with confidence intervals not yet implemented for weighted regression

```

And I think you can raise the issue.

---

<div class="post-metadata">

**Author:** ![Okarin99](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/okarin99/32/21397_2.png) [@Okarin99](https://discourse.julialang.org/u/Okarin99)\
**Post date:** [May 6, 2021, 8:48am UTC](https://discourse.julialang.org/t/weighted-linear-regression-with-confidence-interval/60610/6 "2021-05-06T08:48:34Z")

</div>

Ahh ok thank you. Is the only difference between glm and lm that you can specify the distribution of your data with glm and lm assumes normal distribution?

---

<div class="post-metadata">

**Author:** ![AquaIndigo](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/aquaindigo/32/15820_2.png) [@AquaIndigo](https://discourse.julialang.org/u/AquaIndigo)\
**Post date:** [May 6, 2021, 8:56am UTC](https://discourse.julialang.org/t/weighted-linear-regression-with-confidence-interval/60610/7 "2021-05-06T08:56:35Z")

</div>

I am just learning generalized linear models course this semester. As far as I know, linear regression is equivalent to the glm with normal distribution and identity link function.
