# \[Turing.jl\] Censored Values

**URL:** https://discourse.julialang.org/t/turing-jl-censored-values/48990
**Category:** Probabilistic Programming
**Created:** [October 25, 2020, 6:28pm UTC](https://discourse.julialang.org/t/turing-jl-censored-values/48990 "2020-10-25T18:28:33Z")
**Posts on this page:** 2
**Page:** 2

<div class="post-metadata">

### Author: ![aidanlsb](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/aidanlsb/32/27022_2.png) [@aidanlsb](https://discourse.julialang.org/u/aidanlsb)
#### Post date: [February 13, 2021, 2:28am UTC](https://discourse.julialang.org/t/turing-jl-censored-values/48990/21 "2021-02-13T02:28:40Z")

</div>

Hi! Very new to Julia and having a great experience with it so far. I was messing around with censored models in Turing today and used the following approach, which seemed to work well for my toy example:

```julia
function sim_expon_censored(alpha, beta, censor_duration, N)
    X = rand(Normal(0, 1), N)
    θ = exp.(alpha .+ beta .* X)
    lifetimes = rand.(Exponential.(θ))
    is_censored = [lt < censor_duration ? false : true for lt in lifetimes]
    censored_lifetimes = [ic==true ? censor_duration : lt for (ic, lt) in zip(is_censored, lifetimes)]
    return DataFrame(x=X, y=censored_lifetimes, is_censored=is_censored)
end

@model censored_reg(y, X, is_censored) = begin
    alpha ~ Normal(0, 10)
    beta ~ Normal(0, 10)
    N = length(y)
    for i in 1:N
        θ = exp(alpha + beta * X[i])
        dist = Exponential(θ)
        if is_censored[i] == true
            pcensor = 1 - cdf(dist, y[i])
            1 ~ Bernoulli(pcensor)
        else
            y[i] ~ dist
        end
    end
end

df = sim_expon_censored(2, 0.5, 4, 500)
model = censored_reg(df.y, df.x, df.is_censored)
chain = sample(model, NUTS(), 1000)

```

---

<div class="post-metadata">

### Author: ![drbenvincent](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/drbenvincent/32/3046_2.png) [@drbenvincent](https://discourse.julialang.org/u/drbenvincent)
#### Post date: [February 13, 2021, 11:14am UTC](https://discourse.julialang.org/t/turing-jl-censored-values/48990/22 "2021-02-13T11:14:28Z")

</div>

Nice. A slightly different approach for the censored values. I’m pretty new too… haven’t started using DataFrames yet, but it looks pretty good.

[Previous page](https://discourse.julialang.org/t/turing-jl-censored-values/48990.md?page=1)
