GithubHelp home page GithubHelp logo

phrb / experimentaldesign.jl Goto Github PK

View Code? Open in Web Editor NEW
27.0 4.0 3.0 1.37 MB

Design of Experiments in Julia

Home Page: https://phrb.github.io/ExperimentalDesign.jl/dev/

License: Other

Julia 100.00%
design-of-experiments statistics statistical-analysis experimental-design julia

experimentaldesign.jl's Introduction

ExperimentalDesign

Build Docs Test Coverage
CI Coverage Status codecov.io

ExperimentalDesign provides tools for Design of Experiments in Julia, enabling the construction of designs for screening, modeling, exploration, and optimization.

Development on this package is ongoing, so expect things to change. Pull requests are more than welcome!

Check the documentation for the latest features and API, and check the examples directory for Jupyter Notebooks and code.

Current features are:

  • Designs that support categorical and continuous factors
  • Integration with StatsModels @formula
  • Full factorial designs:
    • Explicit: for small designs that fit in memory
    • Iterable: for larger designs, generates experiments on demand
  • Two-level fractional factorial designs
  • Plackett-Burman designs for screening (check the example)
  • Box-Behnken and central composite designs for response surface modeling
  • Flexible random designs using the Distributions package
  • Latin Hypercube designs using the LatinHypercubeSampling.jl package
  • Several variance-optimizing criteria

Intended features include the ones provided by R packages such as DoE.base, FrF2, and AlgDesign.

experimentaldesign.jl's People

Contributors

github-actions[bot] avatar joergbuchwald avatar pharmcat avatar phrb avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

experimentaldesign.jl's Issues

Latest release throws error on load

It looks like some code for testing was left behind in a file, which is no longer present on master. Maybe it's time to tag a new release?

@v1.5) pkg> add ExperimentalDesign
   Updating registry at `~/.julia/registries/General`
  Resolving package versions...
  Installed ShiftedArrays ────── v1.0.0
  Installed Primes ───────────── v0.5.0
  Installed StatsModels ──────── v0.6.13
  Installed ExperimentalDesign ─ v0.1.0
Updating `~/.julia/environments/v1.5/Project.toml`
  [4babbea4] + ExperimentalDesign v0.1.0
Updating `~/.julia/environments/v1.5/Manifest.toml`
  [4babbea4] + ExperimentalDesign v0.1.0
  [27ebfcd6] + Primes v0.5.0
  [1277b4bf] + ShiftedArrays v1.0.0
  [3eaba693] + StatsModels v0.6.13
[ Info: Precompiling ExperimentalDesign [4babbea4-9e7d-11e9-116f-e1ada04bd296]
ERROR: LoadError: LoadError: MethodError: no method matching term(::String)
Closest candidates are:
  term(::Symbol) at /home/fredrikb/.julia/packages/StatsModels/h6g21/src/terms.jl:598
  term(::Number) at /home/fredrikb/.julia/packages/StatsModels/h6g21/src/terms.jl:597
  term(::StatsModels.AbstractTerm) at /home/fredrikb/.julia/packages/StatsModels/h6g21/src/terms.jl:599
Stacktrace:
 [1] _broadcast_getindex_evalf at ./broadcast.jl:648 [inlined]
 [2] _broadcast_getindex at ./broadcast.jl:621 [inlined]
 [3] getindex at ./broadcast.jl:575 [inlined]
 [4] copy at ./broadcast.jl:876 [inlined]
 [5] materialize at ./broadcast.jl:837 [inlined]
 [6] linear_model(::DataFrames.DataFrame) at /home/fredrikb/.julia/packages/ExperimentalDesign/Cqcyh/src/d_optimal/variance_predictions.jl:14
 [7] optimize_design(; factors::Int64, levels::Int64, experiments::Int64, design::DataFrames.DataFrame, candidate_set::DataFrames.DataFrame, iterations::Int64, refresh_candidate_set::Bool) at /home/fredrikb/.julia/packages/ExperimentalDesign/Cqcyh/src/d_optimal/variance_predictions.jl:122
 [8] measure_optimize_design_refresh(::Bool) at /home/fredrikb/.julia/packages/ExperimentalDesign/Cqcyh/src/d_optimal/variance_predictions.jl:210
 [9] top-level scope at /home/fredrikb/.julia/packages/ExperimentalDesign/Cqcyh/src/d_optimal/variance_predictions.jl:246
 [10] include(::Function, ::Module, ::String) at ./Base.jl:380
 [11] include at ./Base.jl:368 [inlined]
 [12] include(::String) at /home/fredrikb/.julia/packages/ExperimentalDesign/Cqcyh/src/ExperimentalDesign.jl:3
 [13] top-level scope at /home/fredrikb/.julia/packages/ExperimentalDesign/Cqcyh/src/ExperimentalDesign.jl:32
 [14] include(::Function, ::Module, ::String) at ./Base.jl:380
 [15] include(::Module, ::String) at ./Base.jl:368
 [16] top-level scope at none:2
 [17] eval at ./boot.jl:331 [inlined]
 [18] eval(::Expr) at ./client.jl:467
 [19] top-level scope at ./none:3
in expression starting at /home/fredrikb/.julia/packages/ExperimentalDesign/Cqcyh/src/d_optimal/variance_predictions.jl:246
in expression starting at /home/fredrikb/.julia/packages/ExperimentalDesign/Cqcyh/src/ExperimentalDesign.jl:32

load error with @formula

PlackettBurman(@formula(y ~ x1 + x2 + x3 + x4))

LoadError: UndefVarError: @formula not defined
in expression starting at In[24]:1

Stacktrace:
[1] top-level scope
[2] include_string(::Function, ::Module, ::String, ::String) at ./loading.jl:1091
[3] execute_code(::String, ::String) at /Users/blaine/.julia/packages/IJulia/rWZ9e/src/execute_request.jl:27
[4] execute_request(::ZMQ.Socket, ::IJulia.Msg) at /Users/blaine/.julia/packages/IJulia/rWZ9e/src/execute_request.jl:86
[5] #invokelatest#1 at ./essentials.jl:710 [inlined]
[6] invokelatest at ./essentials.jl:709 [inlined]
[7] eventloop(::ZMQ.Socket) at /Users/blaine/.julia/packages/IJulia/rWZ9e/src/eventloop.jl:8
[8] (::IJulia.var"#15#18")() at ./task.jl:356

Using Julia 1.5.2

General registry entry incorrect? Always installs v0.1.0

When attempting to pull this package from the general registry, it always installs v0.1.0. It works fine when installing directly from the ExperimentalDesign repository.

I'm not knowledgeable about how the general registry works, but I took a look at the entry for ExperimentalDesign and compared it to a few others. It's a guess on my part, but Deps.toml doesn't have any information in it for v0.4.0, which probably creates a situation where the package manager thinks v0.4.0 doesn't exist because there are no dependencies.

I've looked a little at the package documentation but can't say I've found anything that might explain if this is the issue or not.

Status of ExperimentalDesign.jl?

I'm looking to use this package to do optimal design of experiments - what's the status of it? I've poked through the docs, but am not 100% sure on how everything all goes together.

Extreme Vertex Designs

Hi again,

I, with the help of some others, was able to whip up some entry point code for making extreme vertex candidate sets. Maybe we can find a way to work together to flesh out this area of the ecosystem?

TagBot trigger issue

This issue is used to trigger TagBot; feel free to unsubscribe.

If you haven't already, you should update your TagBot.yml to include issue comment triggers.
Please see this post on Discourse for instructions and more details.

If you'd like for me to do this for you, comment TagBot fix on this issue.
I'll open a PR within a few hours, please be patient!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.