magerton / OrderedResponse.jl

Ordered logit and probit models

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

OrderedResponse

Build Status

Coverage Status

codecov.io

Estimates ordered logit & probit models. Returns a tuple with the negative log likelihood, gradient, hessian, and the Optim.MultivariateOptimizationResults object.

Example

using OrderedResponse
using DataFrames
using Optim

# ------- make some data ----------

srand(1234)

n,k = 1000,2
X = randn(n, k)
ϵ = randn(n)

β = [0.2, -1.0]
γ = [-0.4, 0.5]

ystar = X*β + ϵ
y = map((yi) -> searchsortedfirst(γ,yi), ystar)

df = convert(DataFrame, X)
df[:y] = y

# ------- run model ----------
@show orlm(@formula(y ~ 0 + x1 + x2), df, :logit)
@show orlm(@formula(y ~ 0 + x1 + x2), df, :probit)

To extend

To extend this package to other distributions, add the functions logcdf, logcdf, cdf, pdf, and dpdf to <src/distributions.jl>. Also, make sure to add the model symbol in tests at the beginning of functions & in test file. (It would probably be best to create a global constant with allowed models...)

About

Ordered logit and probit models

License:Other


Languages

Language:Julia 96.0%Language:R 3.0%Language:Stata 1.0%