diff --git a/.gitignore b/.gitignore index d4345d13..632f382d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,9 +1,8 @@ # Other: /artifacts/ - /.quarto/ - /Manifest.toml +/replicated/ # Tex diff --git a/Artifacts.toml b/Artifacts.toml index ed8ccd62..1aa79a1c 100644 --- a/Artifacts.toml +++ b/Artifacts.toml @@ -3,5 +3,13 @@ git-tree-sha1 = "860ef374887cfbaa8eca835b574092678907e446" lazy = true [[artifacts-.download]] - sha256 = "e0f9e32ceb9e70e43fde8dbd4ad3af6a701ac0c25633df259a7b79083fed2ae0" + sha256 = "5ed618dd02df05991e02fe6d8eecf3ac604edafec95e07a85d0e3487baf46e4a" url = "https://github.com/pat-alt/ECCCo.jl/releases/download/results-paper-submission-1.8.5/artifacts-.tar.gz" + +["results-paper-submission-1.8.5"] +git-tree-sha1 = "3be5119c4ce466017db79f10fdb72b97e745bd7d" +lazy = true + + [["results-paper-submission-1.8.5".download]] + sha256 = "15c6d44aba4e9860ba2b55b70ce8a2f41216d190a5e951fd6907b8cb616ec215" + url = "https://github.com/pat-alt/ECCCo.jl/releases/download/results-paper-submission-1.8.5/results-paper-submission-1.8.5.tar.gz" diff --git a/CITATION.bib b/CITATION.bib index 860cec36..76070b11 100644 --- a/CITATION.bib +++ b/CITATION.bib @@ -1,5 +1,5 @@ @misc{ECCCo.jl, - author = {Patrick Altmeyer}, + author = {Anonymous Author}, title = {ECCCo.jl}, url = {https://github.com/pat-alt/ECCCo.jl}, version = {v0.1.0}, diff --git a/Manifest.toml b/Manifest.toml deleted file mode 100644 index a04e8180..00000000 --- a/Manifest.toml +++ /dev/null @@ -1,2064 +0,0 @@ -# This file is machine-generated - editing it directly is not advised - -julia_version = "1.8.5" -manifest_format = "2.0" -project_hash = "511a2d8ff0f3aa87f31e880fb9c7be4547776a4d" - -[[deps.AbstractFFTs]] -deps = ["ChainRulesCore", "LinearAlgebra"] -git-tree-sha1 = "16b6dbc4cf7caee4e1e75c49485ec67b667098a0" -uuid = "621f4979-c628-5d54-868e-fcf4e3e8185c" -version = "1.3.1" - -[[deps.AbstractTrees]] -git-tree-sha1 = "faa260e4cb5aba097a73fab382dd4b5819d8ec8c" -uuid = "1520ce14-60c1-5f80-bbc7-55ef81b5835c" -version = "0.4.4" - -[[deps.Accessors]] -deps = ["Compat", "CompositionsBase", "ConstructionBase", "Dates", "InverseFunctions", "LinearAlgebra", "MacroTools", "Requires", "StaticArrays", "Test"] -git-tree-sha1 = "c7dddee3f32ceac12abd9a21cd0c4cb489f230d2" -uuid = "7d9f7c33-5ae7-4f3b-8dc6-eff91059b697" -version = "0.1.29" - -[[deps.Adapt]] -deps = ["LinearAlgebra", "Requires"] -git-tree-sha1 = "cc37d689f599e8df4f464b2fa3870ff7db7492ef" -uuid = "79e6a3ab-5dfb-504d-930d-738a2a938a0e" -version = "3.6.1" - -[[deps.ArgCheck]] -git-tree-sha1 = "a3a402a35a2f7e0b87828ccabbd5ebfbebe356b4" -uuid = "dce04be8-c92d-5529-be00-80e4d2c0e197" -version = "2.3.0" - -[[deps.ArgTools]] -uuid = "0dad84c5-d112-42e6-8d28-ef12dabb789f" -version = "1.1.1" - -[[deps.ArnoldiMethod]] -deps = ["LinearAlgebra", "Random", "StaticArrays"] -git-tree-sha1 = "f87e559f87a45bece9c9ed97458d3afe98b1ebb9" -uuid = "ec485272-7323-5ecc-a04f-4719b315124d" -version = "0.1.0" - -[[deps.Arpack]] -deps = ["Arpack_jll", "Libdl", "LinearAlgebra", "Logging"] -git-tree-sha1 = "9b9b347613394885fd1c8c7729bfc60528faa436" -uuid = "7d9fca2a-8960-54d3-9f78-7d1dccf2cb97" -version = "0.5.4" - -[[deps.Arpack_jll]] -deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "OpenBLAS_jll", "Pkg"] -git-tree-sha1 = "5ba6c757e8feccf03a1554dfaf3e26b3cfc7fd5e" -uuid = "68821587-b530-5797-8361-c406ea357684" -version = "3.5.1+1" - -[[deps.ArrayInterface]] -deps = ["Adapt", "LinearAlgebra", "Requires", "SnoopPrecompile", "SparseArrays", "SuiteSparse"] -git-tree-sha1 = "38911c7737e123b28182d89027f4216cfc8a9da7" -uuid = "4fba245c-0d91-5ea0-9b3e-6abc04ee57a9" -version = "7.4.3" - -[[deps.Artifacts]] -uuid = "56f22d72-fd6d-98f1-02f0-08ddc0907c33" - -[[deps.Atomix]] -deps = ["UnsafeAtomics"] -git-tree-sha1 = "c06a868224ecba914baa6942988e2f2aade419be" -uuid = "a9b6321e-bd34-4604-b9c9-b65b8de01458" -version = "0.1.0" - -[[deps.AxisAlgorithms]] -deps = ["LinearAlgebra", "Random", "SparseArrays", "WoodburyMatrices"] -git-tree-sha1 = "66771c8d21c8ff5e3a93379480a2307ac36863f7" -uuid = "13072b0f-2c55-5437-9ae7-d433b7a33950" -version = "1.0.1" - -[[deps.BFloat16s]] -deps = ["LinearAlgebra", "Printf", "Random", "Test"] -git-tree-sha1 = "dbf84058d0a8cbbadee18d25cf606934b22d7c66" -uuid = "ab4f0b2a-ad5b-11e8-123f-65d77653426b" -version = "0.4.2" - -[[deps.BSON]] -git-tree-sha1 = "2208958832d6e1b59e49f53697483a84ca8d664e" -uuid = "fbb218c0-5317-5bc6-957e-2ee96dd4b1f0" -version = "0.3.7" - -[[deps.BangBang]] -deps = ["Compat", "ConstructionBase", "Future", "InitialValues", "LinearAlgebra", "Requires", "Setfield", "Tables", "ZygoteRules"] -git-tree-sha1 = "7fe6d92c4f281cf4ca6f2fba0ce7b299742da7ca" -uuid = "198e06fe-97b7-11e9-32a5-e1d131e6ad66" -version = "0.3.37" - -[[deps.Base64]] -uuid = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f" - -[[deps.Baselet]] -git-tree-sha1 = "aebf55e6d7795e02ca500a689d326ac979aaf89e" -uuid = "9718e550-a3fa-408a-8086-8db961cd8217" -version = "0.1.1" - -[[deps.BitFlags]] -git-tree-sha1 = "43b1a4a8f797c1cddadf60499a8a077d4af2cd2d" -uuid = "d1d4a3ce-64b1-5f1a-9ba4-7e7e69966f35" -version = "0.1.7" - -[[deps.BufferedStreams]] -git-tree-sha1 = "bb065b14d7f941b8617bc323063dbe79f55d16ea" -uuid = "e1450e63-4bb3-523b-b2a4-4ffa8c0fd77d" -version = "1.1.0" - -[[deps.Bzip2_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "19a35467a82e236ff51bc17a3a44b69ef35185a2" -uuid = "6e34b625-4abd-537c-b88f-471c36dfa7a0" -version = "1.0.8+0" - -[[deps.CEnum]] -git-tree-sha1 = "eb4cb44a499229b3b8426dcfb5dd85333951ff90" -uuid = "fa961155-64e5-5f13-b03f-caf6b980ea82" -version = "0.4.2" - -[[deps.CSV]] -deps = ["CodecZlib", "Dates", "FilePathsBase", "InlineStrings", "Mmap", "Parsers", "PooledArrays", "SentinelArrays", "SnoopPrecompile", "Tables", "Unicode", "WeakRefStrings", "WorkerUtilities"] -git-tree-sha1 = "c700cce799b51c9045473de751e9319bdd1c6e94" -uuid = "336ed68f-0bac-5ca0-87d4-7b16caf5d00b" -version = "0.10.9" - -[[deps.CUDA]] -deps = ["AbstractFFTs", "Adapt", "BFloat16s", "CEnum", "CUDA_Driver_jll", "CUDA_Runtime_Discovery", "CUDA_Runtime_jll", "CompilerSupportLibraries_jll", "ExprTools", "GPUArrays", "GPUCompiler", "KernelAbstractions", "LLVM", "LazyArtifacts", "Libdl", "LinearAlgebra", "Logging", "Preferences", "Printf", "Random", "Random123", "RandomNumbers", "Reexport", "Requires", "SparseArrays", "SpecialFunctions", "UnsafeAtomicsLLVM"] -git-tree-sha1 = "8547829ee0da896ce48a24b8d2f4bf929cf3e45e" -uuid = "052768ef-5323-5732-b1bb-66c8b64840ba" -version = "4.1.4" - -[[deps.CUDA_Driver_jll]] -deps = ["Artifacts", "JLLWrappers", "LazyArtifacts", "Libdl", "Pkg"] -git-tree-sha1 = "498f45593f6ddc0adff64a9310bb6710e851781b" -uuid = "4ee394cb-3365-5eb0-8335-949819d2adfc" -version = "0.5.0+1" - -[[deps.CUDA_Runtime_Discovery]] -deps = ["Libdl"] -git-tree-sha1 = "bcc4a23cbbd99c8535a5318455dcf0f2546ec536" -uuid = "1af6417a-86b4-443c-805f-a4643ffb695f" -version = "0.2.2" - -[[deps.CUDA_Runtime_jll]] -deps = ["Artifacts", "CUDA_Driver_jll", "JLLWrappers", "LazyArtifacts", "Libdl", "TOML"] -git-tree-sha1 = "81eed046f28a0cdd0dc1f61d00a49061b7cc9433" -uuid = "76a88914-d11a-5bdc-97e0-2f5a05c973a2" -version = "0.5.0+2" - -[[deps.CUDNN_jll]] -deps = ["Artifacts", "CUDA_Runtime_jll", "JLLWrappers", "LazyArtifacts", "Libdl", "TOML"] -git-tree-sha1 = "2918fbffb50e3b7a0b9127617587afa76d4276e8" -uuid = "62b44479-cb7b-5706-934f-f13b2eb2e645" -version = "8.8.1+0" - -[[deps.Cairo_jll]] -deps = ["Artifacts", "Bzip2_jll", "CompilerSupportLibraries_jll", "Fontconfig_jll", "FreeType2_jll", "Glib_jll", "JLLWrappers", "LZO_jll", "Libdl", "Pixman_jll", "Pkg", "Xorg_libXext_jll", "Xorg_libXrender_jll", "Zlib_jll", "libpng_jll"] -git-tree-sha1 = "4b859a208b2397a7a623a03449e4636bdb17bcf2" -uuid = "83423d85-b0ee-5818-9007-b63ccbeb887a" -version = "1.16.1+1" - -[[deps.Calculus]] -deps = ["LinearAlgebra"] -git-tree-sha1 = "f641eb0a4f00c343bbc32346e1217b86f3ce9dad" -uuid = "49dc2e85-a5d0-5ad3-a950-438e2897f1b9" -version = "0.5.1" - -[[deps.CategoricalArrays]] -deps = ["DataAPI", "Future", "Missings", "Printf", "Requires", "Statistics", "Unicode"] -git-tree-sha1 = "5084cc1a28976dd1642c9f337b28a3cb03e0f7d2" -uuid = "324d7699-5711-5eae-9e2f-1d82baa6b597" -version = "0.10.7" - -[[deps.CategoricalDistributions]] -deps = ["CategoricalArrays", "Distributions", "Missings", "OrderedCollections", "Random", "ScientificTypes", "UnicodePlots"] -git-tree-sha1 = "da68989f027dcefa74d44a452c9e36af9730a70d" -uuid = "af321ab8-2d2e-40a6-b165-3d674595d28e" -version = "0.1.10" - -[[deps.ChainRules]] -deps = ["Adapt", "ChainRulesCore", "Compat", "Distributed", "GPUArraysCore", "IrrationalConstants", "LinearAlgebra", "Random", "RealDot", "SparseArrays", "Statistics", "StructArrays"] -git-tree-sha1 = "7d20c2fb8ab838e41069398685e7b6b5f89ed85b" -uuid = "082447d4-558c-5d27-93f4-14fc19e9eca2" -version = "1.48.0" - -[[deps.ChainRulesCore]] -deps = ["Compat", "LinearAlgebra", "SparseArrays"] -git-tree-sha1 = "c6d890a52d2c4d55d326439580c3b8d0875a77d9" -uuid = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" -version = "1.15.7" - -[[deps.ChangesOfVariables]] -deps = ["ChainRulesCore", "LinearAlgebra", "Test"] -git-tree-sha1 = "485193efd2176b88e6622a39a246f8c5b600e74e" -uuid = "9e997f8a-9a97-42d5-a9f1-ce6bfc15e2c0" -version = "0.1.6" - -[[deps.Chemfiles]] -deps = ["Chemfiles_jll", "DocStringExtensions"] -git-tree-sha1 = "9126d0271c337ca5ed02ba92f2dec087c4260d4a" -uuid = "46823bd8-5fb3-5f92-9aa0-96921f3dd015" -version = "0.10.31" - -[[deps.Chemfiles_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "d4e54b053fc584e7a0f37e9d3a5c4500927b343a" -uuid = "78a364fa-1a3c-552a-b4bb-8fa0f9c1fcca" -version = "0.10.3+0" - -[[deps.Clustering]] -deps = ["Distances", "LinearAlgebra", "NearestNeighbors", "Printf", "Random", "SparseArrays", "Statistics", "StatsBase"] -git-tree-sha1 = "7ebbd653f74504447f1c33b91cd706a69a1b189f" -uuid = "aaaa29a8-35af-508c-8bc3-b662a17a0fe5" -version = "0.14.4" - -[[deps.CodeTracking]] -deps = ["InteractiveUtils", "UUIDs"] -git-tree-sha1 = "d730914ef30a06732bdd9f763f6cc32e92ffbff1" -uuid = "da1fd8a2-8d9e-5ec2-8556-3022fb5608a2" -version = "1.3.1" - -[[deps.CodecZlib]] -deps = ["TranscodingStreams", "Zlib_jll"] -git-tree-sha1 = "9c209fb7536406834aa938fb149964b985de6c83" -uuid = "944b1d66-785c-5afd-91f1-9de20f533193" -version = "0.7.1" - -[[deps.ColorSchemes]] -deps = ["ColorTypes", "ColorVectorSpace", "Colors", "FixedPointNumbers", "PrecompileTools", "Random"] -git-tree-sha1 = "be6ab11021cd29f0344d5c4357b163af05a48cba" -uuid = "35d6a980-a343-548e-a6ea-1d62b119f2f4" -version = "3.21.0" - -[[deps.ColorTypes]] -deps = ["FixedPointNumbers", "Random"] -git-tree-sha1 = "eb7f0f8307f71fac7c606984ea5fb2817275d6e4" -uuid = "3da002f7-5984-5a60-b8a6-cbb66c0b333f" -version = "0.11.4" - -[[deps.ColorVectorSpace]] -deps = ["ColorTypes", "FixedPointNumbers", "LinearAlgebra", "SpecialFunctions", "Statistics", "TensorCore"] -git-tree-sha1 = "600cc5508d66b78aae350f7accdb58763ac18589" -uuid = "c3611d14-8923-5661-9e6a-0046d554d3a4" -version = "0.9.10" - -[[deps.Colors]] -deps = ["ColorTypes", "FixedPointNumbers", "Reexport"] -git-tree-sha1 = "fc08e5930ee9a4e03f84bfb5211cb54e7769758a" -uuid = "5ae59095-9a9b-59fe-a467-6f913c188581" -version = "0.12.10" - -[[deps.Combinatorics]] -git-tree-sha1 = "08c8b6831dc00bfea825826be0bc8336fc369860" -uuid = "861a8166-3701-5b0c-9a16-15d98fcdc6aa" -version = "1.0.2" - -[[deps.CommonSubexpressions]] -deps = ["MacroTools", "Test"] -git-tree-sha1 = "7b8a93dba8af7e3b42fecabf646260105ac373f7" -uuid = "bbf7d656-a473-5ed7-a52c-81e309532950" -version = "0.3.0" - -[[deps.Compat]] -deps = ["Dates", "LinearAlgebra", "UUIDs"] -git-tree-sha1 = "7a60c856b9fa189eb34f5f8a6f6b5529b7942957" -uuid = "34da2185-b29b-5c13-b0c7-acf172513d20" -version = "4.6.1" - -[[deps.CompilerSupportLibraries_jll]] -deps = ["Artifacts", "Libdl"] -uuid = "e66e0078-7015-5450-92f7-15fbd957f2ae" -version = "1.0.1+0" - -[[deps.CompositionsBase]] -git-tree-sha1 = "455419f7e328a1a2493cabc6428d79e951349769" -uuid = "a33af91c-f02d-484b-be07-31d278c5ca2b" -version = "0.1.1" - -[[deps.ComputationalResources]] -git-tree-sha1 = "52cb3ec90e8a8bea0e62e275ba577ad0f74821f7" -uuid = "ed09eef8-17a6-5b46-8889-db040fac31e3" -version = "0.3.2" - -[[deps.ConformalPrediction]] -deps = ["CategoricalArrays", "ChainRules", "Flux", "LinearAlgebra", "MLJBase", "MLJEnsembles", "MLJFlux", "MLJModelInterface", "MLUtils", "NaturalSort", "Plots", "StatsBase"] -path = "../ConformalPrediction.jl" -uuid = "98bfc277-1877-43dc-819b-a3e38c30242f" -version = "0.1.6" - -[[deps.ConstructionBase]] -deps = ["LinearAlgebra"] -git-tree-sha1 = "89a9db8d28102b094992472d333674bd1a83ce2a" -uuid = "187b0558-2788-49d3-abe0-74a17ed4e7c9" -version = "1.5.1" - -[[deps.ContextVariablesX]] -deps = ["Compat", "Logging", "UUIDs"] -git-tree-sha1 = "25cc3803f1030ab855e383129dcd3dc294e322cc" -uuid = "6add18c4-b38d-439d-96f6-d6bc489c04c5" -version = "0.1.3" - -[[deps.Contour]] -git-tree-sha1 = "d05d9e7b7aedff4e5b51a029dced05cfb6125781" -uuid = "d38c429a-6771-53c6-b99e-75d170b6e991" -version = "0.6.2" - -[[deps.CounterfactualExplanations]] -deps = ["CSV", "CUDA", "CategoricalArrays", "ChainRulesCore", "DataFrames", "Flux", "LaplaceRedux", "LazyArtifacts", "LinearAlgebra", "MLDatasets", "MLJBase", "MLJModels", "MLUtils", "MultivariateStats", "NearestNeighborModels", "Parameters", "Plots", "ProgressMeter", "Random", "Serialization", "SliceMap", "SnoopPrecompile", "Statistics", "StatsBase", "Tables", "UMAP"] -path = "../CounterfactualExplanations.jl" -uuid = "2f13d31b-18db-44c1-bc43-ebaf2cff0be0" -version = "0.1.10" - -[[deps.Crayons]] -git-tree-sha1 = "249fe38abf76d48563e2f4556bebd215aa317e15" -uuid = "a8cc5b0e-0ffa-5ad4-8c14-923d3ee1735f" -version = "4.1.1" - -[[deps.DataAPI]] -git-tree-sha1 = "e8119c1a33d267e16108be441a287a6981ba1630" -uuid = "9a962f9c-6df0-11e9-0e5d-c546b8b5ee8a" -version = "1.14.0" - -[[deps.DataDeps]] -deps = ["HTTP", "Libdl", "Reexport", "SHA", "p7zip_jll"] -git-tree-sha1 = "bc0a264d3e7b3eeb0b6fc9f6481f970697f29805" -uuid = "124859b0-ceae-595e-8997-d05f6a7a8dfe" -version = "0.7.10" - -[[deps.DataFrames]] -deps = ["Compat", "DataAPI", "Future", "InlineStrings", "InvertedIndices", "IteratorInterfaceExtensions", "LinearAlgebra", "Markdown", "Missings", "PooledArrays", "PrettyTables", "Printf", "REPL", "Random", "Reexport", "SentinelArrays", "SnoopPrecompile", "SortingAlgorithms", "Statistics", "TableTraits", "Tables", "Unicode"] -git-tree-sha1 = "aa51303df86f8626a962fccb878430cdb0a97eee" -uuid = "a93c6f00-e57d-5684-b7b6-d8193f3e46c0" -version = "1.5.0" - -[[deps.DataStructures]] -deps = ["Compat", "InteractiveUtils", "OrderedCollections"] -git-tree-sha1 = "d1fff3a548102f48987a52a2e0d114fa97d730f0" -uuid = "864edb3b-99cc-5e75-8d2d-829cb0a9cfe8" -version = "0.18.13" - -[[deps.DataValueInterfaces]] -git-tree-sha1 = "bfc1187b79289637fa0ef6d4436ebdfe6905cbd6" -uuid = "e2d170a0-9d28-54be-80f0-106bbe20a464" -version = "1.0.0" - -[[deps.DataValues]] -deps = ["DataValueInterfaces", "Dates"] -git-tree-sha1 = "d88a19299eba280a6d062e135a43f00323ae70bf" -uuid = "e7dc6d0d-1eca-5fa6-8ad6-5aecde8b7ea5" -version = "0.4.13" - -[[deps.Dates]] -deps = ["Printf"] -uuid = "ade2ca70-3891-5945-98fb-dc099432e06a" - -[[deps.DefineSingletons]] -git-tree-sha1 = "0fba8b706d0178b4dc7fd44a96a92382c9065c2c" -uuid = "244e2a9f-e319-4986-a169-4d1fe445cd52" -version = "0.1.2" - -[[deps.DelimitedFiles]] -deps = ["Mmap"] -uuid = "8bb1440f-4735-579b-a4ab-409b98df4dab" - -[[deps.DensityInterface]] -deps = ["InverseFunctions", "Test"] -git-tree-sha1 = "80c3e8639e3353e5d2912fb3a1916b8455e2494b" -uuid = "b429d917-457f-4dbc-8f4c-0cc954292b1d" -version = "0.4.0" - -[[deps.DiffResults]] -deps = ["StaticArraysCore"] -git-tree-sha1 = "782dd5f4561f5d267313f23853baaaa4c52ea621" -uuid = "163ba53b-c6d8-5494-b064-1a9d43ac40c5" -version = "1.1.0" - -[[deps.DiffRules]] -deps = ["IrrationalConstants", "LogExpFunctions", "NaNMath", "Random", "SpecialFunctions"] -git-tree-sha1 = "a4ad7ef19d2cdc2eff57abbbe68032b1cd0bd8f8" -uuid = "b552c78f-8df3-52c6-915a-8e097449b14b" -version = "1.13.0" - -[[deps.Distances]] -deps = ["LinearAlgebra", "SparseArrays", "Statistics", "StatsAPI"] -git-tree-sha1 = "49eba9ad9f7ead780bfb7ee319f962c811c6d3b2" -uuid = "b4f34e82-e78d-54a5-968a-f98e89d6e8f7" -version = "0.10.8" - -[[deps.Distributed]] -deps = ["Random", "Serialization", "Sockets"] -uuid = "8ba89e20-285c-5b6f-9357-94700520ee1b" - -[[deps.Distributions]] -deps = ["ChainRulesCore", "DensityInterface", "FillArrays", "LinearAlgebra", "PDMats", "Printf", "QuadGK", "Random", "SparseArrays", "SpecialFunctions", "Statistics", "StatsBase", "StatsFuns", "Test"] -git-tree-sha1 = "13027f188d26206b9e7b863036f87d2f2e7d013a" -uuid = "31c24e10-a181-5473-b8eb-7969acd0382f" -version = "0.25.87" - -[[deps.DocStringExtensions]] -deps = ["LibGit2"] -git-tree-sha1 = "2fb1e02f2b635d0845df5d7c167fec4dd739b00d" -uuid = "ffbed154-4ef7-542d-bbb7-c09d3a79fcae" -version = "0.9.3" - -[[deps.Downloads]] -deps = ["ArgTools", "FileWatching", "LibCURL", "NetworkOptions"] -uuid = "f43a241f-c20a-4ad4-852c-f6b1247861c6" -version = "1.6.0" - -[[deps.DualNumbers]] -deps = ["Calculus", "NaNMath", "SpecialFunctions"] -git-tree-sha1 = "5837a837389fccf076445fce071c8ddaea35a566" -uuid = "fa6b7ba4-c1ee-5f82-b5fc-ecf0adba8f74" -version = "0.6.8" - -[[deps.Expat_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "bad72f730e9e91c08d9427d5e8db95478a3c323d" -uuid = "2e619515-83b5-522b-bb60-26c02a35a201" -version = "2.4.8+0" - -[[deps.ExprTools]] -git-tree-sha1 = "c1d06d129da9f55715c6c212866f5b1bddc5fa00" -uuid = "e2ba6199-217a-4e67-a87a-7c52f15ade04" -version = "0.1.9" - -[[deps.FFMPEG]] -deps = ["FFMPEG_jll"] -git-tree-sha1 = "b57e3acbe22f8484b4b5ff66a7499717fe1a9cc8" -uuid = "c87230d0-a227-11e9-1b43-d7ebe4e7570a" -version = "0.4.1" - -[[deps.FFMPEG_jll]] -deps = ["Artifacts", "Bzip2_jll", "FreeType2_jll", "FriBidi_jll", "JLLWrappers", "LAME_jll", "Libdl", "Ogg_jll", "OpenSSL_jll", "Opus_jll", "PCRE2_jll", "Pkg", "Zlib_jll", "libaom_jll", "libass_jll", "libfdk_aac_jll", "libvorbis_jll", "x264_jll", "x265_jll"] -git-tree-sha1 = "74faea50c1d007c85837327f6775bea60b5492dd" -uuid = "b22a6f82-2f65-5046-a5b2-351ab43fb4e5" -version = "4.4.2+2" - -[[deps.FFTW]] -deps = ["AbstractFFTs", "FFTW_jll", "LinearAlgebra", "MKL_jll", "Preferences", "Reexport"] -git-tree-sha1 = "f9818144ce7c8c41edf5c4c179c684d92aa4d9fe" -uuid = "7a1cc6ca-52ef-59f5-83cd-3a7055c09341" -version = "1.6.0" - -[[deps.FFTW_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "c6033cc3892d0ef5bb9cd29b7f2f0331ea5184ea" -uuid = "f5851436-0d7a-5f13-b9de-f02708fd171a" -version = "3.3.10+0" - -[[deps.FLoops]] -deps = ["BangBang", "Compat", "FLoopsBase", "InitialValues", "JuliaVariables", "MLStyle", "Serialization", "Setfield", "Transducers"] -git-tree-sha1 = "ffb97765602e3cbe59a0589d237bf07f245a8576" -uuid = "cc61a311-1640-44b5-9fba-1b764f453329" -version = "0.2.1" - -[[deps.FLoopsBase]] -deps = ["ContextVariablesX"] -git-tree-sha1 = "656f7a6859be8673bf1f35da5670246b923964f7" -uuid = "b9860ae5-e623-471e-878b-f6a53c775ea6" -version = "0.1.1" - -[[deps.FileIO]] -deps = ["Pkg", "Requires", "UUIDs"] -git-tree-sha1 = "7be5f99f7d15578798f338f5433b6c432ea8037b" -uuid = "5789e2e9-d7fb-5bc7-8068-2c6fae9b9549" -version = "1.16.0" - -[[deps.FilePathsBase]] -deps = ["Compat", "Dates", "Mmap", "Printf", "Test", "UUIDs"] -git-tree-sha1 = "e27c4ebe80e8699540f2d6c805cc12203b614f12" -uuid = "48062228-2e41-5def-b9a4-89aafe57970f" -version = "0.9.20" - -[[deps.FileWatching]] -uuid = "7b1f6079-737a-58dc-b8bc-7a2ca5c1b5ee" - -[[deps.FillArrays]] -deps = ["LinearAlgebra", "Random", "SparseArrays", "Statistics"] -git-tree-sha1 = "7072f1e3e5a8be51d525d64f63d3ec1287ff2790" -uuid = "1a297f60-69ca-5386-bcde-b61e274b549b" -version = "0.13.11" - -[[deps.FiniteDiff]] -deps = ["ArrayInterface", "LinearAlgebra", "Requires", "Setfield", "SparseArrays", "StaticArrays"] -git-tree-sha1 = "03fcb1c42ec905d15b305359603888ec3e65f886" -uuid = "6a86dc24-6348-571c-b903-95158fe2bd41" -version = "2.19.0" - -[[deps.FixedPointNumbers]] -deps = ["Statistics"] -git-tree-sha1 = "335bfdceacc84c5cdf16aadc768aa5ddfc5383cc" -uuid = "53c48c17-4a7d-5ca2-90c5-79b7896eea93" -version = "0.8.4" - -[[deps.Flux]] -deps = ["Adapt", "CUDA", "ChainRulesCore", "Functors", "LinearAlgebra", "MLUtils", "MacroTools", "NNlib", "NNlibCUDA", "OneHotArrays", "Optimisers", "Preferences", "ProgressLogging", "Random", "Reexport", "SparseArrays", "SpecialFunctions", "Statistics", "StatsBase", "Zygote", "cuDNN"] -git-tree-sha1 = "3f6f32ec0bfd80be0cb65907cf74ec796a632012" -uuid = "587475ba-b771-5e3f-ad9e-33799f191a9c" -version = "0.13.15" - -[[deps.FoldsThreads]] -deps = ["Accessors", "FunctionWrappers", "InitialValues", "SplittablesBase", "Transducers"] -git-tree-sha1 = "eb8e1989b9028f7e0985b4268dabe94682249025" -uuid = "9c68100b-dfe1-47cf-94c8-95104e173443" -version = "0.1.1" - -[[deps.Fontconfig_jll]] -deps = ["Artifacts", "Bzip2_jll", "Expat_jll", "FreeType2_jll", "JLLWrappers", "Libdl", "Libuuid_jll", "Pkg", "Zlib_jll"] -git-tree-sha1 = "21efd19106a55620a188615da6d3d06cd7f6ee03" -uuid = "a3f928ae-7b40-5064-980b-68af3947d34b" -version = "2.13.93+0" - -[[deps.Formatting]] -deps = ["Printf"] -git-tree-sha1 = "8339d61043228fdd3eb658d86c926cb282ae72a8" -uuid = "59287772-0a20-5a39-b81b-1366585eb4c0" -version = "0.4.2" - -[[deps.ForwardDiff]] -deps = ["CommonSubexpressions", "DiffResults", "DiffRules", "LinearAlgebra", "LogExpFunctions", "NaNMath", "Preferences", "Printf", "Random", "SpecialFunctions", "StaticArrays"] -git-tree-sha1 = "00e252f4d706b3d55a8863432e742bf5717b498d" -uuid = "f6369f11-7733-5829-9624-2563aa707210" -version = "0.10.35" - -[[deps.FreeType2_jll]] -deps = ["Artifacts", "Bzip2_jll", "JLLWrappers", "Libdl", "Pkg", "Zlib_jll"] -git-tree-sha1 = "87eb71354d8ec1a96d4a7636bd57a7347dde3ef9" -uuid = "d7e528f0-a631-5988-bf34-fe36492bcfd7" -version = "2.10.4+0" - -[[deps.FriBidi_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "aa31987c2ba8704e23c6c8ba8a4f769d5d7e4f91" -uuid = "559328eb-81f9-559d-9380-de523a88c83c" -version = "1.0.10+0" - -[[deps.FunctionWrappers]] -git-tree-sha1 = "d62485945ce5ae9c0c48f124a84998d755bae00e" -uuid = "069b7b12-0de2-55c6-9aab-29f3d0a68a2e" -version = "1.1.3" - -[[deps.Functors]] -deps = ["LinearAlgebra"] -git-tree-sha1 = "478f8c3145bb91d82c2cf20433e8c1b30df454cc" -uuid = "d9f16b24-f501-4c13-a1f2-28368ffc5196" -version = "0.4.4" - -[[deps.Future]] -deps = ["Random"] -uuid = "9fa8497b-333b-5362-9e8d-4d0656e87820" - -[[deps.GLFW_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Libglvnd_jll", "Pkg", "Xorg_libXcursor_jll", "Xorg_libXi_jll", "Xorg_libXinerama_jll", "Xorg_libXrandr_jll"] -git-tree-sha1 = "d972031d28c8c8d9d7b41a536ad7bb0c2579caca" -uuid = "0656b61e-2033-5cc2-a64a-77c0f6c09b89" -version = "3.3.8+0" - -[[deps.GPUArrays]] -deps = ["Adapt", "GPUArraysCore", "LLVM", "LinearAlgebra", "Printf", "Random", "Reexport", "Serialization", "Statistics"] -git-tree-sha1 = "9ade6983c3dbbd492cf5729f865fe030d1541463" -uuid = "0c68f7d7-f131-5f86-a1c3-88cf8149b2d7" -version = "8.6.6" - -[[deps.GPUArraysCore]] -deps = ["Adapt"] -git-tree-sha1 = "1cd7f0af1aa58abc02ea1d872953a97359cb87fa" -uuid = "46192b85-c4d5-4398-a991-12ede77f4527" -version = "0.1.4" - -[[deps.GPUCompiler]] -deps = ["ExprTools", "InteractiveUtils", "LLVM", "Libdl", "Logging", "Scratch", "TimerOutputs", "UUIDs"] -git-tree-sha1 = "e9a9173cd77e16509cdf9c1663fda19b22a518b7" -uuid = "61eb1bfa-7361-4325-ad38-22787b887f55" -version = "0.19.3" - -[[deps.GR]] -deps = ["Artifacts", "Base64", "DelimitedFiles", "Downloads", "GR_jll", "HTTP", "JSON", "Libdl", "LinearAlgebra", "Pkg", "Preferences", "Printf", "Random", "Serialization", "Sockets", "TOML", "Tar", "Test", "UUIDs", "p7zip_jll"] -git-tree-sha1 = "db730189e3d250d97515a91886de7e33aa8833e6" -uuid = "28b8d3ca-fb5f-59d9-8090-bfdbd6d07a71" -version = "0.72.2" - -[[deps.GR_jll]] -deps = ["Artifacts", "Bzip2_jll", "Cairo_jll", "FFMPEG_jll", "Fontconfig_jll", "GLFW_jll", "JLLWrappers", "JpegTurbo_jll", "Libdl", "Libtiff_jll", "Pixman_jll", "Qt5Base_jll", "Zlib_jll", "libpng_jll"] -git-tree-sha1 = "47a2efe07729dd508a032e2f56c46c517481052a" -uuid = "d2c73de3-f751-5644-a686-071e5b155ba9" -version = "0.72.2+0" - -[[deps.GZip]] -deps = ["Libdl"] -git-tree-sha1 = "039be665faf0b8ae36e089cd694233f5dee3f7d6" -uuid = "92fee26a-97fe-5a0c-ad85-20a5f3185b63" -version = "0.5.1" - -[[deps.Gettext_jll]] -deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "Libiconv_jll", "Pkg", "XML2_jll"] -git-tree-sha1 = "9b02998aba7bf074d14de89f9d37ca24a1a0b046" -uuid = "78b55507-aeef-58d4-861c-77aaff3498b1" -version = "0.21.0+0" - -[[deps.Glib_jll]] -deps = ["Artifacts", "Gettext_jll", "JLLWrappers", "Libdl", "Libffi_jll", "Libiconv_jll", "Libmount_jll", "PCRE2_jll", "Pkg", "Zlib_jll"] -git-tree-sha1 = "d3b3624125c1474292d0d8ed0f65554ac37ddb23" -uuid = "7746bdde-850d-59dc-9ae8-88ece973131d" -version = "2.74.0+2" - -[[deps.Glob]] -git-tree-sha1 = "97285bbd5230dd766e9ef6749b80fc617126d496" -uuid = "c27321d9-0574-5035-807b-f59d2c89b15c" -version = "1.3.1" - -[[deps.Graphics]] -deps = ["Colors", "LinearAlgebra", "NaNMath"] -git-tree-sha1 = "d61890399bc535850c4bf08e4e0d3a7ad0f21cbd" -uuid = "a2bd30eb-e257-5431-a919-1863eab51364" -version = "1.1.2" - -[[deps.Graphite2_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "344bf40dcab1073aca04aa0df4fb092f920e4011" -uuid = "3b182d85-2403-5c21-9c21-1e1f0cc25472" -version = "1.3.14+0" - -[[deps.Grisu]] -git-tree-sha1 = "53bb909d1151e57e2484c3d1b53e19552b887fb2" -uuid = "42e2da0e-8278-4e71-bc24-59509adca0fe" -version = "1.0.2" - -[[deps.HDF5]] -deps = ["Compat", "HDF5_jll", "Libdl", "Mmap", "Random", "Requires", "UUIDs"] -git-tree-sha1 = "3dab31542b3da9f25a6a1d11159d4af8fdce7d67" -uuid = "f67ccb44-e63f-5c2f-98bd-6dc0ccc4ba2f" -version = "0.16.14" - -[[deps.HDF5_jll]] -deps = ["Artifacts", "JLLWrappers", "LibCURL_jll", "Libdl", "OpenSSL_jll", "Pkg", "Zlib_jll"] -git-tree-sha1 = "4cc2bb72df6ff40b055295fdef6d92955f9dede8" -uuid = "0234f1f7-429e-5d53-9886-15a909be8d59" -version = "1.12.2+2" - -[[deps.HTTP]] -deps = ["Base64", "CodecZlib", "Dates", "IniFile", "Logging", "LoggingExtras", "MbedTLS", "NetworkOptions", "OpenSSL", "Random", "SimpleBufferStream", "Sockets", "URIs", "UUIDs"] -git-tree-sha1 = "37e4657cd56b11abe3d10cd4a1ec5fbdb4180263" -uuid = "cd3eb016-35fb-5094-929b-558a96fad6f3" -version = "1.7.4" - -[[deps.HarfBuzz_jll]] -deps = ["Artifacts", "Cairo_jll", "Fontconfig_jll", "FreeType2_jll", "Glib_jll", "Graphite2_jll", "JLLWrappers", "Libdl", "Libffi_jll", "Pkg"] -git-tree-sha1 = "129acf094d168394e80ee1dc4bc06ec835e510a3" -uuid = "2e76f6c2-a576-52d4-95c1-20adfe4de566" -version = "2.8.1+1" - -[[deps.Highlights]] -deps = ["DocStringExtensions", "InteractiveUtils", "REPL"] -git-tree-sha1 = "0341077e8a6b9fc1c2ea5edc1e93a956d2aec0c7" -uuid = "eafb193a-b7ab-5a9e-9068-77385905fa72" -version = "0.5.2" - -[[deps.HypergeometricFunctions]] -deps = ["DualNumbers", "LinearAlgebra", "OpenLibm_jll", "SpecialFunctions"] -git-tree-sha1 = "432b5b03176f8182bd6841fbfc42c718506a2d5f" -uuid = "34004b35-14d8-5ef3-9330-4cdb6864b03a" -version = "0.3.15" - -[[deps.IRTools]] -deps = ["InteractiveUtils", "MacroTools", "Test"] -git-tree-sha1 = "0ade27f0c49cebd8db2523c4eeccf779407cf12c" -uuid = "7869d1d1-7146-5819-86e3-90919afe41df" -version = "0.4.9" - -[[deps.ImageBase]] -deps = ["ImageCore", "Reexport"] -git-tree-sha1 = "b51bb8cae22c66d0f6357e3bcb6363145ef20835" -uuid = "c817782e-172a-44cc-b673-b171935fbb9e" -version = "0.1.5" - -[[deps.ImageCore]] -deps = ["AbstractFFTs", "ColorVectorSpace", "Colors", "FixedPointNumbers", "Graphics", "MappedArrays", "MosaicViews", "OffsetArrays", "PaddedViews", "Reexport"] -git-tree-sha1 = "acf614720ef026d38400b3817614c45882d75500" -uuid = "a09fc81d-aa75-5fe9-8630-4744c3626534" -version = "0.9.4" - -[[deps.ImageShow]] -deps = ["Base64", "ColorSchemes", "FileIO", "ImageBase", "ImageCore", "OffsetArrays", "StackViews"] -git-tree-sha1 = "ce28c68c900eed3cdbfa418be66ed053e54d4f56" -uuid = "4e3cecfd-b093-5904-9786-8bbb286a6a31" -version = "0.3.7" - -[[deps.Inflate]] -git-tree-sha1 = "5cd07aab533df5170988219191dfad0519391428" -uuid = "d25df0c9-e2be-5dd7-82c8-3ad0b3e990b9" -version = "0.1.3" - -[[deps.IniFile]] -git-tree-sha1 = "f550e6e32074c939295eb5ea6de31849ac2c9625" -uuid = "83e8ac13-25f8-5344-8a64-a9f2b223428f" -version = "0.5.1" - -[[deps.InitialValues]] -git-tree-sha1 = "4da0f88e9a39111c2fa3add390ab15f3a44f3ca3" -uuid = "22cec73e-a1b8-11e9-2c92-598750a2cf9c" -version = "0.3.1" - -[[deps.InlineStrings]] -deps = ["Parsers"] -git-tree-sha1 = "9cc2baf75c6d09f9da536ddf58eb2f29dedaf461" -uuid = "842dd82b-1e85-43dc-bf29-5d0ee9dffc48" -version = "1.4.0" - -[[deps.IntelOpenMP_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "0cb9352ef2e01574eeebdb102948a58740dcaf83" -uuid = "1d5cc7b8-4909-519e-a0f8-d0f5ad9712d0" -version = "2023.1.0+0" - -[[deps.InteractiveUtils]] -deps = ["Markdown"] -uuid = "b77e0a4c-d291-57a0-90e8-8db25a27a240" - -[[deps.InternedStrings]] -deps = ["Random", "Test"] -git-tree-sha1 = "eb05b5625bc5d821b8075a77e4c421933e20c76b" -uuid = "7d512f48-7fb1-5a58-b986-67e6dc259f01" -version = "0.7.0" - -[[deps.Interpolations]] -deps = ["Adapt", "AxisAlgorithms", "ChainRulesCore", "LinearAlgebra", "OffsetArrays", "Random", "Ratios", "Requires", "SharedArrays", "SparseArrays", "StaticArrays", "WoodburyMatrices"] -git-tree-sha1 = "721ec2cf720536ad005cb38f50dbba7b02419a15" -uuid = "a98d9a8b-a2ab-59e6-89dd-64a1c18fca59" -version = "0.14.7" - -[[deps.InverseFunctions]] -deps = ["Test"] -git-tree-sha1 = "49510dfcb407e572524ba94aeae2fced1f3feb0f" -uuid = "3587e190-3f89-42d0-90ee-14403ec27112" -version = "0.1.8" - -[[deps.InvertedIndices]] -git-tree-sha1 = "0dc7b50b8d436461be01300fd8cd45aa0274b038" -uuid = "41ab1584-1d38-5bbf-9106-f11c6c58b48f" -version = "1.3.0" - -[[deps.IrrationalConstants]] -git-tree-sha1 = "630b497eafcc20001bba38a4651b327dcfc491d2" -uuid = "92d709cd-6900-40b7-9082-c6be49f344b6" -version = "0.2.2" - -[[deps.IteratorInterfaceExtensions]] -git-tree-sha1 = "a3f24677c21f5bbe9d2a714f95dcd58337fb2856" -uuid = "82899510-4779-5014-852e-03e436cf321d" -version = "1.0.0" - -[[deps.JLD2]] -deps = ["FileIO", "MacroTools", "Mmap", "OrderedCollections", "Pkg", "Printf", "Reexport", "Requires", "TranscodingStreams", "UUIDs"] -git-tree-sha1 = "42c17b18ced77ff0be65957a591d34f4ed57c631" -uuid = "033835bb-8acc-5ee8-8aae-3f567f8a3819" -version = "0.4.31" - -[[deps.JLFzf]] -deps = ["Pipe", "REPL", "Random", "fzf_jll"] -git-tree-sha1 = "f377670cda23b6b7c1c0b3893e37451c5c1a2185" -uuid = "1019f520-868f-41f5-a6de-eb00f4b6a39c" -version = "0.1.5" - -[[deps.JLLWrappers]] -deps = ["Preferences"] -git-tree-sha1 = "abc9885a7ca2052a736a600f7fa66209f96506e1" -uuid = "692b3bcd-3c85-4b1f-b108-f13ce0eb3210" -version = "1.4.1" - -[[deps.JSON]] -deps = ["Dates", "Mmap", "Parsers", "Unicode"] -git-tree-sha1 = "31e996f0a15c7b280ba9f76636b3ff9e2ae58c9a" -uuid = "682c06a0-de6a-54ab-a142-c8b1cf79cde6" -version = "0.21.4" - -[[deps.JSON3]] -deps = ["Dates", "Mmap", "Parsers", "SnoopPrecompile", "StructTypes", "UUIDs"] -git-tree-sha1 = "84b10656a41ef564c39d2d477d7236966d2b5683" -uuid = "0f8b85d8-7281-11e9-16c2-39a750bddbf1" -version = "1.12.0" - -[[deps.JointEnergyModels]] -deps = ["CategoricalArrays", "ChainRulesCore", "ComputationalResources", "Distributions", "Flux", "MLJFlux", "MLJModelInterface", "MLUtils", "PkgTemplates", "ProgressMeter", "Random", "StatsBase", "Tables"] -path = "../JointEnergyModels.jl" -uuid = "48c56d24-211d-4463-bbc0-7a701b291131" -version = "0.1.0" - -[[deps.JpegTurbo_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "6f2675ef130a300a112286de91973805fcc5ffbc" -uuid = "aacddb02-875f-59d6-b918-886e6ef4fbf8" -version = "2.1.91+0" - -[[deps.JuliaVariables]] -deps = ["MLStyle", "NameResolution"] -git-tree-sha1 = "49fb3cb53362ddadb4415e9b73926d6b40709e70" -uuid = "b14d175d-62b4-44ba-8fb7-3064adc8c3ec" -version = "0.2.4" - -[[deps.JuliennedArrays]] -git-tree-sha1 = "4aeebbfcf0615641ec4b0782b73b638eeeabd62e" -uuid = "5cadff95-7770-533d-a838-a1bf817ee6e0" -version = "0.3.0" - -[[deps.KernelAbstractions]] -deps = ["Adapt", "Atomix", "InteractiveUtils", "LinearAlgebra", "MacroTools", "SnoopPrecompile", "SparseArrays", "StaticArrays", "UUIDs", "UnsafeAtomics", "UnsafeAtomicsLLVM"] -git-tree-sha1 = "976231af02176082fb266a9f96a59da51fcacf20" -uuid = "63c18a36-062a-441e-b654-da1e3ab1ce7c" -version = "0.9.2" - -[[deps.KernelDensity]] -deps = ["Distributions", "DocStringExtensions", "FFTW", "Interpolations", "StatsBase"] -git-tree-sha1 = "9816b296736292a80b9a3200eb7fbb57aaa3917a" -uuid = "5ab0869b-81aa-558d-bb23-cbf5423bbe9b" -version = "0.6.5" - -[[deps.LAME_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "f6250b16881adf048549549fba48b1161acdac8c" -uuid = "c1c5ebd0-6772-5130-a774-d5fcae4a789d" -version = "3.100.1+0" - -[[deps.LERC_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "bf36f528eec6634efc60d7ec062008f171071434" -uuid = "88015f11-f218-50d7-93a8-a6af411a945d" -version = "3.0.0+1" - -[[deps.LLVM]] -deps = ["CEnum", "LLVMExtra_jll", "Libdl", "Printf", "Unicode"] -git-tree-sha1 = "a8960cae30b42b66dd41808beb76490519f6f9e2" -uuid = "929cbde3-209d-540e-8aea-75f648917ca0" -version = "5.0.0" - -[[deps.LLVMExtra_jll]] -deps = ["Artifacts", "JLLWrappers", "LazyArtifacts", "Libdl", "TOML"] -git-tree-sha1 = "09b7505cc0b1cee87e5d4a26eea61d2e1b0dcd35" -uuid = "dad2f222-ce93-54a1-a47d-0025e8a3acab" -version = "0.0.21+0" - -[[deps.LZO_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "e5b909bcf985c5e2605737d2ce278ed791b89be6" -uuid = "dd4b983a-f0e5-5f8d-a1b7-129d4a5fb1ac" -version = "2.10.1+0" - -[[deps.LaTeXStrings]] -git-tree-sha1 = "f2355693d6778a178ade15952b7ac47a4ff97996" -uuid = "b964fa9f-0449-5b57-a5c2-d3ea65f4040f" -version = "1.3.0" - -[[deps.LaplaceRedux]] -deps = ["Flux", "LinearAlgebra", "Parameters", "Plots", "Zygote"] -git-tree-sha1 = "a4adebbeafb96d0864b4833c254013f66dc6e0ee" -uuid = "c52c1a26-f7c5-402b-80be-ba1e638ad478" -version = "0.1.2" - -[[deps.Latexify]] -deps = ["Formatting", "InteractiveUtils", "LaTeXStrings", "MacroTools", "Markdown", "OrderedCollections", "Printf", "Requires"] -git-tree-sha1 = "98dc144f1e0b299d49e8d23e56ad68d3e4f340a5" -uuid = "23fbe1c1-3f47-55db-b15f-69d7ec21a316" -version = "0.15.20" - -[[deps.LazyArtifacts]] -deps = ["Artifacts", "Pkg"] -uuid = "4af54fe1-eca0-43a8-85a7-787d91b784e3" - -[[deps.LazyModules]] -git-tree-sha1 = "a560dd966b386ac9ae60bdd3a3d3a326062d3c3e" -uuid = "8cdb02fc-e678-4876-92c5-9defec4f444e" -version = "0.3.1" - -[[deps.LibCURL]] -deps = ["LibCURL_jll", "MozillaCACerts_jll"] -uuid = "b27032c2-a3e7-50c8-80cd-2d36dbcbfd21" -version = "0.6.3" - -[[deps.LibCURL_jll]] -deps = ["Artifacts", "LibSSH2_jll", "Libdl", "MbedTLS_jll", "Zlib_jll", "nghttp2_jll"] -uuid = "deac9b47-8bc7-5906-a0fe-35ac56dc84c0" -version = "7.84.0+0" - -[[deps.LibGit2]] -deps = ["Base64", "NetworkOptions", "Printf", "SHA"] -uuid = "76f85450-5226-5b5a-8eaa-529ad045b433" - -[[deps.LibSSH2_jll]] -deps = ["Artifacts", "Libdl", "MbedTLS_jll"] -uuid = "29816b5a-b9ab-546f-933c-edad1886dfa8" -version = "1.10.2+0" - -[[deps.Libdl]] -uuid = "8f399da3-3557-5675-b5ff-fb832c97cbdb" - -[[deps.Libffi_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "0b4a5d71f3e5200a7dff793393e09dfc2d874290" -uuid = "e9f186c6-92d2-5b65-8a66-fee21dc1b490" -version = "3.2.2+1" - -[[deps.Libgcrypt_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Libgpg_error_jll", "Pkg"] -git-tree-sha1 = "64613c82a59c120435c067c2b809fc61cf5166ae" -uuid = "d4300ac3-e22c-5743-9152-c294e39db1e4" -version = "1.8.7+0" - -[[deps.Libglvnd_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libX11_jll", "Xorg_libXext_jll"] -git-tree-sha1 = "6f73d1dd803986947b2c750138528a999a6c7733" -uuid = "7e76a0d4-f3c7-5321-8279-8d96eeed0f29" -version = "1.6.0+0" - -[[deps.Libgpg_error_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "c333716e46366857753e273ce6a69ee0945a6db9" -uuid = "7add5ba3-2f88-524e-9cd5-f83b8a55f7b8" -version = "1.42.0+0" - -[[deps.Libiconv_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "c7cb1f5d892775ba13767a87c7ada0b980ea0a71" -uuid = "94ce4f54-9a6c-5748-9c1c-f9c7231a4531" -version = "1.16.1+2" - -[[deps.Libmount_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "9c30530bf0effd46e15e0fdcf2b8636e78cbbd73" -uuid = "4b2f31a3-9ecc-558c-b454-b3730dcb73e9" -version = "2.35.0+0" - -[[deps.Libtiff_jll]] -deps = ["Artifacts", "JLLWrappers", "JpegTurbo_jll", "LERC_jll", "Libdl", "Pkg", "Zlib_jll", "Zstd_jll"] -git-tree-sha1 = "3eb79b0ca5764d4799c06699573fd8f533259713" -uuid = "89763e89-9b03-5906-acba-b20f662cd828" -version = "4.4.0+0" - -[[deps.Libuuid_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "7f3efec06033682db852f8b3bc3c1d2b0a0ab066" -uuid = "38a345b3-de98-5d2b-a5d3-14cd9215e700" -version = "2.36.0+0" - -[[deps.LightGraphs]] -deps = ["ArnoldiMethod", "DataStructures", "Distributed", "Inflate", "LinearAlgebra", "Random", "SharedArrays", "SimpleTraits", "SparseArrays", "Statistics"] -git-tree-sha1 = "432428df5f360964040ed60418dd5601ecd240b6" -uuid = "093fc24a-ae57-5d10-9952-331d41423f4d" -version = "1.3.5" - -[[deps.LinearAlgebra]] -deps = ["Libdl", "libblastrampoline_jll"] -uuid = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" - -[[deps.LogExpFunctions]] -deps = ["ChainRulesCore", "ChangesOfVariables", "DocStringExtensions", "InverseFunctions", "IrrationalConstants", "LinearAlgebra"] -git-tree-sha1 = "0a1b7c2863e44523180fdb3146534e265a91870b" -uuid = "2ab3a3ac-af41-5b50-aa03-7779005ae688" -version = "0.3.23" - -[[deps.Logging]] -uuid = "56ddb016-857b-54e1-b83d-db4d58db5568" - -[[deps.LoggingExtras]] -deps = ["Dates", "Logging"] -git-tree-sha1 = "cedb76b37bc5a6c702ade66be44f831fa23c681e" -uuid = "e6f89c97-d47a-5376-807f-9c37f3926c36" -version = "1.0.0" - -[[deps.LossFunctions]] -deps = ["CategoricalArrays", "Markdown"] -git-tree-sha1 = "d4c7ff8c7281943371e1725000fd538a699024d0" -uuid = "30fc2ffe-d236-52d8-8643-a9d8f7c094a7" -version = "0.9.0" - -[[deps.LsqFit]] -deps = ["Distributions", "ForwardDiff", "LinearAlgebra", "NLSolversBase", "OptimBase", "Random", "StatsBase"] -git-tree-sha1 = "91aa1442e63a77f101aff01dec5a821a17f43922" -uuid = "2fda8390-95c7-5789-9bda-21331edee243" -version = "0.12.1" - -[[deps.MAT]] -deps = ["BufferedStreams", "CodecZlib", "HDF5", "SparseArrays"] -git-tree-sha1 = "6eff5740c8ab02c90065719579c7aa0eb40c9f69" -uuid = "23992714-dd62-5051-b70f-ba57cb901cac" -version = "0.10.4" - -[[deps.MKL_jll]] -deps = ["Artifacts", "IntelOpenMP_jll", "JLLWrappers", "LazyArtifacts", "Libdl", "Pkg"] -git-tree-sha1 = "2ce8695e1e699b68702c03402672a69f54b8aca9" -uuid = "856f044c-d86e-5d09-b602-aeab76dc8ba7" -version = "2022.2.0+0" - -[[deps.MLDatasets]] -deps = ["CSV", "Chemfiles", "DataDeps", "DataFrames", "DelimitedFiles", "FileIO", "FixedPointNumbers", "GZip", "Glob", "HDF5", "ImageShow", "JLD2", "JSON3", "LazyModules", "MAT", "MLUtils", "NPZ", "Pickle", "Printf", "Requires", "SparseArrays", "Tables"] -git-tree-sha1 = "498b37aa3ebb4407adea36df1b244fa4e397de5e" -uuid = "eb30cadb-4394-5ae3-aed4-317e484a6458" -version = "0.7.9" - -[[deps.MLJBase]] -deps = ["CategoricalArrays", "CategoricalDistributions", "ComputationalResources", "Dates", "DelimitedFiles", "Distributed", "Distributions", "InteractiveUtils", "InvertedIndices", "LinearAlgebra", "LossFunctions", "MLJModelInterface", "Missings", "OrderedCollections", "Parameters", "PrettyTables", "ProgressMeter", "Random", "ScientificTypes", "Serialization", "StatisticalTraits", "Statistics", "StatsBase", "Tables"] -git-tree-sha1 = "e99e84c7ca1696b38e2a8823f53ac9cc775599dd" -uuid = "a7f614a8-145f-11e9-1d2a-a57a1082229d" -version = "0.21.9" - -[[deps.MLJEnsembles]] -deps = ["CategoricalArrays", "CategoricalDistributions", "ComputationalResources", "Distributed", "Distributions", "MLJBase", "MLJModelInterface", "ProgressMeter", "Random", "ScientificTypesBase", "StatsBase"] -git-tree-sha1 = "bb8a1056b1d8b40f2f27167fc3ef6412a6719fbf" -uuid = "50ed68f4-41fd-4504-931a-ed422449fee0" -version = "0.3.2" - -[[deps.MLJFlux]] -deps = ["CategoricalArrays", "ColorTypes", "ComputationalResources", "Flux", "MLJModelInterface", "Metalhead", "ProgressMeter", "Random", "Statistics", "Tables"] -path = "../MLJFlux.jl" -uuid = "094fc8d1-fd35-5302-93ea-dabda2abf845" -version = "0.2.10" - -[[deps.MLJModelInterface]] -deps = ["Random", "ScientificTypesBase", "StatisticalTraits"] -git-tree-sha1 = "c8b7e632d6754a5e36c0d94a4b466a5ba3a30128" -uuid = "e80e1ace-859a-464e-9ed9-23947d8ae3ea" -version = "1.8.0" - -[[deps.MLJModels]] -deps = ["CategoricalArrays", "CategoricalDistributions", "Combinatorics", "Dates", "Distances", "Distributions", "InteractiveUtils", "LinearAlgebra", "MLJModelInterface", "Markdown", "OrderedCollections", "Parameters", "Pkg", "PrettyPrinting", "REPL", "Random", "RelocatableFolders", "ScientificTypes", "StatisticalTraits", "Statistics", "StatsBase", "Tables"] -git-tree-sha1 = "21acf47dc53ccc3d68e38ac7629756cd09b599f5" -uuid = "d491faf4-2d78-11e9-2867-c94bc002c0b7" -version = "0.16.6" - -[[deps.MLStyle]] -git-tree-sha1 = "bc38dff0548128765760c79eb7388a4b37fae2c8" -uuid = "d8e11817-5142-5d16-987a-aa16d5891078" -version = "0.4.17" - -[[deps.MLUtils]] -deps = ["ChainRulesCore", "Compat", "DataAPI", "DelimitedFiles", "FLoops", "FoldsThreads", "NNlib", "Random", "ShowCases", "SimpleTraits", "Statistics", "StatsBase", "Tables", "Transducers"] -git-tree-sha1 = "f69cdbb5b7c630c02481d81d50eac43697084fe0" -uuid = "f1d291b0-491e-4a28-83b9-f70985020b54" -version = "0.4.1" - -[[deps.MacroTools]] -deps = ["Markdown", "Random"] -git-tree-sha1 = "42324d08725e200c23d4dfb549e0d5d89dede2d2" -uuid = "1914dd2f-81c6-5fcd-8719-6d5c9610ff09" -version = "0.5.10" - -[[deps.MappedArrays]] -git-tree-sha1 = "e8b359ef06ec72e8c030463fe02efe5527ee5142" -uuid = "dbb5928d-eab1-5f90-85c2-b9b0edb7c900" -version = "0.4.1" - -[[deps.MarchingCubes]] -deps = ["SnoopPrecompile", "StaticArrays"] -git-tree-sha1 = "b198463d1a631e8771709bc8e011ba329da9ad38" -uuid = "299715c1-40a9-479a-aaf9-4a633d36f717" -version = "0.1.7" - -[[deps.Markdown]] -deps = ["Base64"] -uuid = "d6f4376e-aef5-505a-96c1-9c027394607a" - -[[deps.MbedTLS]] -deps = ["Dates", "MbedTLS_jll", "MozillaCACerts_jll", "Random", "Sockets"] -git-tree-sha1 = "03a9b9718f5682ecb107ac9f7308991db4ce395b" -uuid = "739be429-bea8-5141-9913-cc70e7f3736d" -version = "1.1.7" - -[[deps.MbedTLS_jll]] -deps = ["Artifacts", "Libdl"] -uuid = "c8ffd9c3-330d-5841-b78e-0817d7145fa1" -version = "2.28.0+0" - -[[deps.Measures]] -git-tree-sha1 = "c13304c81eec1ed3af7fc20e75fb6b26092a1102" -uuid = "442fdcdd-2543-5da2-b0f3-8c86c306513e" -version = "0.3.2" - -[[deps.Metalhead]] -deps = ["Artifacts", "BSON", "Flux", "Functors", "LazyArtifacts", "MLUtils", "NNlib", "Random", "Statistics"] -git-tree-sha1 = "0e95f91cc5f23610f8f270d7397f307b21e19d2b" -uuid = "dbeba491-748d-5e0e-a39e-b530a07fa0cc" -version = "0.7.4" - -[[deps.MicroCollections]] -deps = ["BangBang", "InitialValues", "Setfield"] -git-tree-sha1 = "629afd7d10dbc6935ec59b32daeb33bc4460a42e" -uuid = "128add7d-3638-4c79-886c-908ea0c25c34" -version = "0.1.4" - -[[deps.Missings]] -deps = ["DataAPI"] -git-tree-sha1 = "f66bdc5de519e8f8ae43bdc598782d35a25b1272" -uuid = "e1d29d7a-bbdc-5cf2-9ac0-f12de2c33e28" -version = "1.1.0" - -[[deps.Mmap]] -uuid = "a63ad114-7e13-5084-954f-fe012c677804" - -[[deps.Mocking]] -deps = ["Compat", "ExprTools"] -git-tree-sha1 = "782e258e80d68a73d8c916e55f8ced1de00c2cea" -uuid = "78c3b35d-d492-501b-9361-3d52fe80e533" -version = "0.7.6" - -[[deps.MosaicViews]] -deps = ["MappedArrays", "OffsetArrays", "PaddedViews", "StackViews"] -git-tree-sha1 = "7b86a5d4d70a9f5cdf2dacb3cbe6d251d1a61dbe" -uuid = "e94cdb99-869f-56ef-bcf0-1ae2bcbe0389" -version = "0.3.4" - -[[deps.MozillaCACerts_jll]] -uuid = "14a3606d-f60d-562e-9121-12d972cd8159" -version = "2022.2.1" - -[[deps.MultivariateStats]] -deps = ["Arpack", "LinearAlgebra", "SparseArrays", "Statistics", "StatsAPI", "StatsBase"] -git-tree-sha1 = "91a48569383df24f0fd2baf789df2aade3d0ad80" -uuid = "6f286f6a-111f-5878-ab1e-185364afe411" -version = "0.10.1" - -[[deps.Mustache]] -deps = ["Printf", "Tables"] -git-tree-sha1 = "87c371d27dbf2449a5685652ab322be163269df0" -uuid = "ffc61752-8dc7-55ee-8c37-f3e9cdd09e70" -version = "1.0.15" - -[[deps.MyterialColors]] -git-tree-sha1 = "01d8466fb449436348999d7c6ad740f8f853a579" -uuid = "1c23619d-4212-4747-83aa-717207fae70f" -version = "0.3.0" - -[[deps.NLSolversBase]] -deps = ["DiffResults", "Distributed", "FiniteDiff", "ForwardDiff"] -git-tree-sha1 = "a0b464d183da839699f4c79e7606d9d186ec172c" -uuid = "d41bc354-129a-5804-8e4c-c37616107c6c" -version = "7.8.3" - -[[deps.NNlib]] -deps = ["Adapt", "Atomix", "ChainRulesCore", "GPUArraysCore", "KernelAbstractions", "LinearAlgebra", "Pkg", "Random", "Requires", "Statistics"] -git-tree-sha1 = "99e6dbb50d8a96702dc60954569e9fe7291cc55d" -uuid = "872c559c-99b0-510c-b3b7-b6c96a88d5cd" -version = "0.8.20" - -[[deps.NNlibCUDA]] -deps = ["Adapt", "CUDA", "LinearAlgebra", "NNlib", "Random", "Statistics", "cuDNN"] -git-tree-sha1 = "f94a9684394ff0d325cc12b06da7032d8be01aaf" -uuid = "a00861dc-f156-4864-bf3c-e6376f28a68d" -version = "0.2.7" - -[[deps.NPZ]] -deps = ["FileIO", "ZipFile"] -git-tree-sha1 = "60a8e272fe0c5079363b28b0953831e2dd7b7e6f" -uuid = "15e1cf62-19b3-5cfa-8e77-841668bca605" -version = "0.4.3" - -[[deps.NaNMath]] -deps = ["OpenLibm_jll"] -git-tree-sha1 = "0877504529a3e5c3343c6f8b4c0381e57e4387e4" -uuid = "77ba4419-2d1f-58cd-9bb1-8ffee604a2e3" -version = "1.0.2" - -[[deps.NameResolution]] -deps = ["PrettyPrint"] -git-tree-sha1 = "1a0fa0e9613f46c9b8c11eee38ebb4f590013c5e" -uuid = "71a1bf82-56d0-4bbc-8a3c-48b961074391" -version = "0.1.5" - -[[deps.NaturalSort]] -git-tree-sha1 = "eda490d06b9f7c00752ee81cfa451efe55521e21" -uuid = "c020b1a1-e9b0-503a-9c33-f039bfc54a85" -version = "1.0.0" - -[[deps.NearestNeighborDescent]] -deps = ["DataStructures", "Distances", "LightGraphs", "Random", "Reexport", "SparseArrays"] -git-tree-sha1 = "8f41eced4332166c3548bda137779c38975ac4af" -uuid = "dd2c4c9e-a32f-5b2f-b342-08c2f244fce8" -version = "0.3.5" - -[[deps.NearestNeighborModels]] -deps = ["Distances", "FillArrays", "InteractiveUtils", "LinearAlgebra", "MLJModelInterface", "NearestNeighbors", "Statistics", "StatsBase", "Tables"] -git-tree-sha1 = "c2179f9d8de066c481b889a1426068c5831bb10b" -uuid = "636a865e-7cf4-491e-846c-de09b730eb36" -version = "0.2.2" - -[[deps.NearestNeighbors]] -deps = ["Distances", "StaticArrays"] -git-tree-sha1 = "2c3726ceb3388917602169bed973dbc97f1b51a8" -uuid = "b8a86587-4115-5ab1-83bc-aa920d37bbce" -version = "0.4.13" - -[[deps.NetworkOptions]] -uuid = "ca575930-c2e3-43a9-ace4-1e988b2c1908" -version = "1.2.0" - -[[deps.Observables]] -git-tree-sha1 = "6862738f9796b3edc1c09d0890afce4eca9e7e93" -uuid = "510215fc-4207-5dde-b226-833fc4488ee2" -version = "0.5.4" - -[[deps.OffsetArrays]] -deps = ["Adapt"] -git-tree-sha1 = "82d7c9e310fe55aa54996e6f7f94674e2a38fcb4" -uuid = "6fe1bfb0-de20-5000-8ca7-80f57d26f881" -version = "1.12.9" - -[[deps.Ogg_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "887579a3eb005446d514ab7aeac5d1d027658b8f" -uuid = "e7412a2a-1a6e-54c0-be00-318e2571c051" -version = "1.3.5+1" - -[[deps.OneHotArrays]] -deps = ["Adapt", "ChainRulesCore", "Compat", "GPUArraysCore", "LinearAlgebra", "NNlib"] -git-tree-sha1 = "f511fca956ed9e70b80cd3417bb8c2dde4b68644" -uuid = "0b1bfda6-eb8a-41d2-88d8-f5af5cad476f" -version = "0.2.3" - -[[deps.OpenBLAS_jll]] -deps = ["Artifacts", "CompilerSupportLibraries_jll", "Libdl"] -uuid = "4536629a-c528-5b80-bd46-f80d51c5b363" -version = "0.3.20+0" - -[[deps.OpenLibm_jll]] -deps = ["Artifacts", "Libdl"] -uuid = "05823500-19ac-5b8b-9628-191a04bc5112" -version = "0.8.1+0" - -[[deps.OpenSSL]] -deps = ["BitFlags", "Dates", "MozillaCACerts_jll", "OpenSSL_jll", "Sockets"] -git-tree-sha1 = "5b3e170ea0724f1e3ed6018c5b006c190f80e87d" -uuid = "4d8831e6-92b7-49fb-bdf8-b643e874388c" -version = "1.3.5" - -[[deps.OpenSSL_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "9ff31d101d987eb9d66bd8b176ac7c277beccd09" -uuid = "458c3c95-2e84-50aa-8efc-19380b2a3a95" -version = "1.1.20+0" - -[[deps.OpenSpecFun_jll]] -deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "13652491f6856acfd2db29360e1bbcd4565d04f1" -uuid = "efe28fd5-8261-553b-a9e1-b2916fc3738e" -version = "0.5.5+0" - -[[deps.OptimBase]] -deps = ["NLSolversBase", "Printf", "Reexport"] -git-tree-sha1 = "9cb1fee807b599b5f803809e85c81b582d2009d6" -uuid = "87e2bd06-a317-5318-96d9-3ecbac512eee" -version = "2.0.2" - -[[deps.Optimisers]] -deps = ["ChainRulesCore", "Functors", "LinearAlgebra", "Random", "Statistics"] -git-tree-sha1 = "6a01f65dd8583dee82eecc2a19b0ff21521aa749" -uuid = "3bd65402-5787-11e9-1adc-39752487f4e2" -version = "0.2.18" - -[[deps.Opus_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "51a08fb14ec28da2ec7a927c4337e4332c2a4720" -uuid = "91d4177d-7536-5919-b921-800302f37372" -version = "1.3.2+0" - -[[deps.OrderedCollections]] -git-tree-sha1 = "d321bf2de576bf25ec4d3e4360faca399afca282" -uuid = "bac558e1-5e72-5ebc-8fee-abe8a469f55d" -version = "1.6.0" - -[[deps.PCRE2_jll]] -deps = ["Artifacts", "Libdl"] -uuid = "efcefdf7-47ab-520b-bdef-62a2eaa19f15" -version = "10.40.0+0" - -[[deps.PDMats]] -deps = ["LinearAlgebra", "SparseArrays", "SuiteSparse"] -git-tree-sha1 = "67eae2738d63117a196f497d7db789821bce61d1" -uuid = "90014a1f-27ba-587c-ab20-58faa44d9150" -version = "0.11.17" - -[[deps.PaddedViews]] -deps = ["OffsetArrays"] -git-tree-sha1 = "0fac6313486baae819364c52b4f483450a9d793f" -uuid = "5432bcbf-9aad-5242-b902-cca2824c8663" -version = "0.5.12" - -[[deps.Parameters]] -deps = ["OrderedCollections", "UnPack"] -git-tree-sha1 = "34c0e9ad262e5f7fc75b10a9952ca7692cfc5fbe" -uuid = "d96e819e-fc66-5662-9728-84c9c7592b0a" -version = "0.12.3" - -[[deps.Parsers]] -deps = ["Dates", "SnoopPrecompile"] -git-tree-sha1 = "478ac6c952fddd4399e71d4779797c538d0ff2bf" -uuid = "69de0a69-1ddd-5017-9359-2bf0b02dc9f0" -version = "2.5.8" - -[[deps.Pickle]] -deps = ["DataStructures", "InternedStrings", "Serialization", "SparseArrays", "Strided", "StringEncodings", "ZipFile"] -git-tree-sha1 = "e6a34eb1dc0c498f0774bbfbbbeff2de101f4235" -uuid = "fbb45041-c46e-462f-888f-7c521cafbc2c" -version = "0.3.2" - -[[deps.Pipe]] -git-tree-sha1 = "6842804e7867b115ca9de748a0cf6b364523c16d" -uuid = "b98c9c47-44ae-5843-9183-064241ee97a0" -version = "1.3.0" - -[[deps.Pixman_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "b4f5d02549a10e20780a24fce72bea96b6329e29" -uuid = "30392449-352a-5448-841d-b1acce4e97dc" -version = "0.40.1+0" - -[[deps.Pkg]] -deps = ["Artifacts", "Dates", "Downloads", "LibGit2", "Libdl", "Logging", "Markdown", "Printf", "REPL", "Random", "SHA", "Serialization", "TOML", "Tar", "UUIDs", "p7zip_jll"] -uuid = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" -version = "1.8.0" - -[[deps.PkgTemplates]] -deps = ["Dates", "InteractiveUtils", "LibGit2", "Mocking", "Mustache", "Parameters", "Pkg", "REPL", "UUIDs"] -git-tree-sha1 = "b8e88d61d55607c07ac1ed9dabf474cfab8490b9" -uuid = "14b8a8f1-9102-5b29-a752-f990bacb7fe1" -version = "0.7.34" - -[[deps.PlotThemes]] -deps = ["PlotUtils", "Statistics"] -git-tree-sha1 = "1f03a2d339f42dca4a4da149c7e15e9b896ad899" -uuid = "ccf2f8ad-2431-5c83-bf29-c5338b663b6a" -version = "3.1.0" - -[[deps.PlotUtils]] -deps = ["ColorSchemes", "Colors", "Dates", "PrecompileTools", "Printf", "Random", "Reexport", "Statistics"] -git-tree-sha1 = "f92e1315dadf8c46561fb9396e525f7200cdc227" -uuid = "995b91a9-d308-5afd-9ec6-746e21dbc043" -version = "1.3.5" - -[[deps.Plots]] -deps = ["Base64", "Contour", "Dates", "Downloads", "FFMPEG", "FixedPointNumbers", "GR", "JLFzf", "JSON", "LaTeXStrings", "Latexify", "LinearAlgebra", "Measures", "NaNMath", "Pkg", "PlotThemes", "PlotUtils", "Preferences", "Printf", "REPL", "Random", "RecipesBase", "RecipesPipeline", "Reexport", "RelocatableFolders", "Requires", "Scratch", "Showoff", "SnoopPrecompile", "SparseArrays", "Statistics", "StatsBase", "UUIDs", "UnicodeFun", "Unzip"] -git-tree-sha1 = "5434b0ee344eaf2854de251f326df8720f6a7b55" -uuid = "91a5bcdd-55d7-5caf-9e0b-520d859cae80" -version = "1.38.10" - -[[deps.PooledArrays]] -deps = ["DataAPI", "Future"] -git-tree-sha1 = "a6062fe4063cdafe78f4a0a81cfffb89721b30e7" -uuid = "2dfb63ee-cc39-5dd5-95bd-886bf059d720" -version = "1.4.2" - -[[deps.PrecompileTools]] -deps = ["Preferences"] -git-tree-sha1 = "bc2bda41d798c2e66e7c44a11007bb329b15941b" -uuid = "aea7be01-6a6a-4083-8856-8a6e6704d82a" -version = "1.0.1" - -[[deps.Preferences]] -deps = ["TOML"] -git-tree-sha1 = "47e5f437cc0e7ef2ce8406ce1e7e24d44915f88d" -uuid = "21216c6a-2e73-6563-6e65-726566657250" -version = "1.3.0" - -[[deps.PrettyPrint]] -git-tree-sha1 = "632eb4abab3449ab30c5e1afaa874f0b98b586e4" -uuid = "8162dcfd-2161-5ef2-ae6c-7681170c5f98" -version = "0.2.0" - -[[deps.PrettyPrinting]] -git-tree-sha1 = "4be53d093e9e37772cc89e1009e8f6ad10c4681b" -uuid = "54e16d92-306c-5ea0-a30b-337be88ac337" -version = "0.4.0" - -[[deps.PrettyTables]] -deps = ["Crayons", "Formatting", "LaTeXStrings", "Markdown", "Reexport", "StringManipulation", "Tables"] -git-tree-sha1 = "548793c7859e28ef026dba514752275ee871169f" -uuid = "08abe8d2-0d0c-5749-adfa-8a2ac140af0d" -version = "2.2.3" - -[[deps.Printf]] -deps = ["Unicode"] -uuid = "de0858da-6303-5e67-8744-51eddeeeb8d7" - -[[deps.ProgressLogging]] -deps = ["Logging", "SHA", "UUIDs"] -git-tree-sha1 = "80d919dee55b9c50e8d9e2da5eeafff3fe58b539" -uuid = "33c8b6b6-d38a-422a-b730-caa89a2f386c" -version = "0.1.4" - -[[deps.ProgressMeter]] -deps = ["Distributed", "Printf"] -git-tree-sha1 = "d7a7aef8f8f2d537104f170139553b14dfe39fe9" -uuid = "92933f4c-e287-5a05-a399-4b506db050ca" -version = "1.7.2" - -[[deps.Qt5Base_jll]] -deps = ["Artifacts", "CompilerSupportLibraries_jll", "Fontconfig_jll", "Glib_jll", "JLLWrappers", "Libdl", "Libglvnd_jll", "OpenSSL_jll", "Pkg", "Xorg_libXext_jll", "Xorg_libxcb_jll", "Xorg_xcb_util_image_jll", "Xorg_xcb_util_keysyms_jll", "Xorg_xcb_util_renderutil_jll", "Xorg_xcb_util_wm_jll", "Zlib_jll", "xkbcommon_jll"] -git-tree-sha1 = "0c03844e2231e12fda4d0086fd7cbe4098ee8dc5" -uuid = "ea2cea3b-5b76-57ae-a6ef-0a8af62496e1" -version = "5.15.3+2" - -[[deps.QuadGK]] -deps = ["DataStructures", "LinearAlgebra"] -git-tree-sha1 = "6ec7ac8412e83d57e313393220879ede1740f9ee" -uuid = "1fd47b50-473d-5c70-9696-f719f8f3bcdc" -version = "2.8.2" - -[[deps.REPL]] -deps = ["InteractiveUtils", "Markdown", "Sockets", "Unicode"] -uuid = "3fa0cd96-eef1-5676-8a61-b3b8758bbffb" - -[[deps.Random]] -deps = ["SHA", "Serialization"] -uuid = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" - -[[deps.Random123]] -deps = ["Random", "RandomNumbers"] -git-tree-sha1 = "7a1a306b72cfa60634f03a911405f4e64d1b718b" -uuid = "74087812-796a-5b5d-8853-05524746bad3" -version = "1.6.0" - -[[deps.RandomNumbers]] -deps = ["Random", "Requires"] -git-tree-sha1 = "043da614cc7e95c703498a491e2c21f58a2b8111" -uuid = "e6cf234a-135c-5ec9-84dd-332b85af5143" -version = "1.5.3" - -[[deps.Ratios]] -deps = ["Requires"] -git-tree-sha1 = "dc84268fe0e3335a62e315a3a7cf2afa7178a734" -uuid = "c84ed2f1-dad5-54f0-aa8e-dbefe2724439" -version = "0.4.3" - -[[deps.RealDot]] -deps = ["LinearAlgebra"] -git-tree-sha1 = "9f0a1b71baaf7650f4fa8a1d168c7fb6ee41f0c9" -uuid = "c1ae055f-0cd5-4b69-90a6-9a35b1a98df9" -version = "0.1.0" - -[[deps.RecipesBase]] -deps = ["SnoopPrecompile"] -git-tree-sha1 = "261dddd3b862bd2c940cf6ca4d1c8fe593e457c8" -uuid = "3cdcf5f2-1ef4-517c-9805-6587b60abb01" -version = "1.3.3" - -[[deps.RecipesPipeline]] -deps = ["Dates", "NaNMath", "PlotUtils", "RecipesBase", "SnoopPrecompile"] -git-tree-sha1 = "e974477be88cb5e3040009f3767611bc6357846f" -uuid = "01d81517-befc-4cb6-b9ec-a95719d0359c" -version = "0.6.11" - -[[deps.Reexport]] -git-tree-sha1 = "45e428421666073eab6f2da5c9d310d99bb12f9b" -uuid = "189a3867-3050-52da-a836-e630ba90ab69" -version = "1.2.2" - -[[deps.RelocatableFolders]] -deps = ["SHA", "Scratch"] -git-tree-sha1 = "90bc7a7c96410424509e4263e277e43250c05691" -uuid = "05181044-ff0b-4ac5-8273-598c1e38db00" -version = "1.0.0" - -[[deps.Requires]] -deps = ["UUIDs"] -git-tree-sha1 = "838a3a4188e2ded87a4f9f184b4b0d78a1e91cb7" -uuid = "ae029012-a4dd-5104-9daa-d747884805df" -version = "1.3.0" - -[[deps.Rmath]] -deps = ["Random", "Rmath_jll"] -git-tree-sha1 = "f65dcb5fa46aee0cf9ed6274ccbd597adc49aa7b" -uuid = "79098fc4-a85e-5d69-aa6a-4863f24498fa" -version = "0.7.1" - -[[deps.Rmath_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "6ed52fdd3382cf21947b15e8870ac0ddbff736da" -uuid = "f50d1b31-88e8-58de-be2c-1cc44531875f" -version = "0.4.0+0" - -[[deps.SHA]] -uuid = "ea8e919c-243c-51af-8825-aaa63cd721ce" -version = "0.7.0" - -[[deps.ScientificTypes]] -deps = ["CategoricalArrays", "ColorTypes", "Dates", "Distributions", "PrettyTables", "Reexport", "ScientificTypesBase", "StatisticalTraits", "Tables"] -git-tree-sha1 = "75ccd10ca65b939dab03b812994e571bf1e3e1da" -uuid = "321657f4-b219-11e9-178b-2701a2544e81" -version = "3.0.2" - -[[deps.ScientificTypesBase]] -git-tree-sha1 = "a8e18eb383b5ecf1b5e6fc237eb39255044fd92b" -uuid = "30f210dd-8aff-4c5f-94ba-8e64358c1161" -version = "3.0.0" - -[[deps.Scratch]] -deps = ["Dates"] -git-tree-sha1 = "30449ee12237627992a99d5e30ae63e4d78cd24a" -uuid = "6c6a2e73-6563-6170-7368-637461726353" -version = "1.2.0" - -[[deps.SentinelArrays]] -deps = ["Dates", "Random"] -git-tree-sha1 = "77d3c4726515dca71f6d80fbb5e251088defe305" -uuid = "91c51154-3ec4-41a3-a24f-3f23e20d615c" -version = "1.3.18" - -[[deps.Serialization]] -uuid = "9e88b42a-f829-5b0c-bbe9-9e923198166b" - -[[deps.Setfield]] -deps = ["ConstructionBase", "Future", "MacroTools", "StaticArraysCore"] -git-tree-sha1 = "e2cc6d8c88613c05e1defb55170bf5ff211fbeac" -uuid = "efcf1570-3423-57d1-acb7-fd33fddbac46" -version = "1.1.1" - -[[deps.SharedArrays]] -deps = ["Distributed", "Mmap", "Random", "Serialization"] -uuid = "1a1011a3-84de-559e-8e89-a11a2f7dc383" - -[[deps.ShowCases]] -git-tree-sha1 = "7f534ad62ab2bd48591bdeac81994ea8c445e4a5" -uuid = "605ecd9f-84a6-4c9e-81e2-4798472b76a3" -version = "0.1.0" - -[[deps.Showoff]] -deps = ["Dates", "Grisu"] -git-tree-sha1 = "91eddf657aca81df9ae6ceb20b959ae5653ad1de" -uuid = "992d4aef-0814-514b-bc4d-f2e9a6c4116f" -version = "1.0.3" - -[[deps.SimpleBufferStream]] -git-tree-sha1 = "874e8867b33a00e784c8a7e4b60afe9e037b74e1" -uuid = "777ac1f9-54b0-4bf8-805c-2214025038e7" -version = "1.1.0" - -[[deps.SimpleTraits]] -deps = ["InteractiveUtils", "MacroTools"] -git-tree-sha1 = "5d7e3f4e11935503d3ecaf7186eac40602e7d231" -uuid = "699a6c99-e7fa-54fc-8d76-47d257e15c1d" -version = "0.9.4" - -[[deps.SliceMap]] -deps = ["ForwardDiff", "JuliennedArrays", "StaticArrays", "Tracker", "ZygoteRules"] -git-tree-sha1 = "f988004407ccf6c398a87914eafdd8bc9109e533" -uuid = "82cb661a-3f19-5665-9e27-df437c7e54c8" -version = "0.2.7" - -[[deps.SnoopPrecompile]] -deps = ["Preferences"] -git-tree-sha1 = "e760a70afdcd461cf01a575947738d359234665c" -uuid = "66db9d55-30c0-4569-8b51-7e840670fc0c" -version = "1.0.3" - -[[deps.Sockets]] -uuid = "6462fe0b-24de-5631-8697-dd941f90decc" - -[[deps.SortingAlgorithms]] -deps = ["DataStructures"] -git-tree-sha1 = "a4ada03f999bd01b3a25dcaa30b2d929fe537e00" -uuid = "a2af1166-a08f-5f64-846c-94a0d3cef48c" -version = "1.1.0" - -[[deps.SparseArrays]] -deps = ["LinearAlgebra", "Random"] -uuid = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" - -[[deps.SpecialFunctions]] -deps = ["ChainRulesCore", "IrrationalConstants", "LogExpFunctions", "OpenLibm_jll", "OpenSpecFun_jll"] -git-tree-sha1 = "ef28127915f4229c971eb43f3fc075dd3fe91880" -uuid = "276daf66-3868-5448-9aa4-cd146d93841b" -version = "2.2.0" - -[[deps.SplittablesBase]] -deps = ["Setfield", "Test"] -git-tree-sha1 = "e08a62abc517eb79667d0a29dc08a3b589516bb5" -uuid = "171d559e-b47b-412a-8079-5efa626c420e" -version = "0.1.15" - -[[deps.StackViews]] -deps = ["OffsetArrays"] -git-tree-sha1 = "46e589465204cd0c08b4bd97385e4fa79a0c770c" -uuid = "cae243ae-269e-4f55-b966-ac2d0dc13c15" -version = "0.1.1" - -[[deps.StaticArrays]] -deps = ["LinearAlgebra", "Random", "StaticArraysCore", "Statistics"] -git-tree-sha1 = "63e84b7fdf5021026d0f17f76af7c57772313d99" -uuid = "90137ffa-7385-5640-81b9-e52037218182" -version = "1.5.21" - -[[deps.StaticArraysCore]] -git-tree-sha1 = "6b7ba252635a5eff6a0b0664a41ee140a1c9e72a" -uuid = "1e83bf80-4336-4d27-bf5d-d5a4f845583c" -version = "1.4.0" - -[[deps.StatisticalTraits]] -deps = ["ScientificTypesBase"] -git-tree-sha1 = "30b9236691858e13f167ce829490a68e1a597782" -uuid = "64bff920-2084-43da-a3e6-9bb72801c0c9" -version = "3.2.0" - -[[deps.Statistics]] -deps = ["LinearAlgebra", "SparseArrays"] -uuid = "10745b16-79ce-11e8-11f9-7d13ad32a3b2" - -[[deps.StatsAPI]] -deps = ["LinearAlgebra"] -git-tree-sha1 = "45a7769a04a3cf80da1c1c7c60caf932e6f4c9f7" -uuid = "82ae8749-77ed-4fe6-ae5f-f523153014b0" -version = "1.6.0" - -[[deps.StatsBase]] -deps = ["DataAPI", "DataStructures", "LinearAlgebra", "LogExpFunctions", "Missings", "Printf", "Random", "SortingAlgorithms", "SparseArrays", "Statistics", "StatsAPI"] -git-tree-sha1 = "d1bf48bfcc554a3761a133fe3a9bb01488e06916" -uuid = "2913bbd2-ae8a-5f71-8c99-4fb6c76f3a91" -version = "0.33.21" - -[[deps.StatsFuns]] -deps = ["ChainRulesCore", "HypergeometricFunctions", "InverseFunctions", "IrrationalConstants", "LogExpFunctions", "Reexport", "Rmath", "SpecialFunctions"] -git-tree-sha1 = "f625d686d5a88bcd2b15cd81f18f98186fdc0c9a" -uuid = "4c63d2b9-4356-54db-8cca-17b64c39e42c" -version = "1.3.0" - -[[deps.StatsPlots]] -deps = ["AbstractFFTs", "Clustering", "DataStructures", "DataValues", "Distributions", "Interpolations", "KernelDensity", "LinearAlgebra", "MultivariateStats", "NaNMath", "Observables", "Plots", "RecipesBase", "RecipesPipeline", "Reexport", "StatsBase", "TableOperations", "Tables", "Widgets"] -git-tree-sha1 = "e0d5bc26226ab1b7648278169858adcfbd861780" -uuid = "f3b207a7-027a-5e70-b257-86293d7955fd" -version = "0.15.4" - -[[deps.Strided]] -deps = ["LinearAlgebra", "TupleTools"] -git-tree-sha1 = "a7a664c91104329c88222aa20264e1a05b6ad138" -uuid = "5e0ebb24-38b0-5f93-81fe-25c709ecae67" -version = "1.2.3" - -[[deps.StringEncodings]] -deps = ["Libiconv_jll"] -git-tree-sha1 = "33c0da881af3248dafefb939a21694b97cfece76" -uuid = "69024149-9ee7-55f6-a4c4-859efe599b68" -version = "0.3.6" - -[[deps.StringManipulation]] -git-tree-sha1 = "46da2434b41f41ac3594ee9816ce5541c6096123" -uuid = "892a3eda-7b42-436c-8928-eab12a02cf0e" -version = "0.3.0" - -[[deps.StructArrays]] -deps = ["Adapt", "DataAPI", "GPUArraysCore", "StaticArraysCore", "Tables"] -git-tree-sha1 = "521a0e828e98bb69042fec1809c1b5a680eb7389" -uuid = "09ab397b-f2b6-538f-b94a-2f83cf4a842a" -version = "0.6.15" - -[[deps.StructTypes]] -deps = ["Dates", "UUIDs"] -git-tree-sha1 = "ca4bccb03acf9faaf4137a9abc1881ed1841aa70" -uuid = "856f2bd8-1eba-4b0a-8007-ebc267875bd4" -version = "1.10.0" - -[[deps.SuiteSparse]] -deps = ["Libdl", "LinearAlgebra", "Serialization", "SparseArrays"] -uuid = "4607b0f0-06f3-5cda-b6b1-a6196a1729e9" - -[[deps.TOML]] -deps = ["Dates"] -uuid = "fa267f1f-6049-4f14-aa54-33bafae1ed76" -version = "1.0.0" - -[[deps.TableOperations]] -deps = ["SentinelArrays", "Tables", "Test"] -git-tree-sha1 = "e383c87cf2a1dc41fa30c093b2a19877c83e1bc1" -uuid = "ab02a1b2-a7df-11e8-156e-fb1833f50b87" -version = "1.2.0" - -[[deps.TableTraits]] -deps = ["IteratorInterfaceExtensions"] -git-tree-sha1 = "c06b2f539df1c6efa794486abfb6ed2022561a39" -uuid = "3783bdb8-4a98-5b6b-af9a-565f29a5fe9c" -version = "1.0.1" - -[[deps.Tables]] -deps = ["DataAPI", "DataValueInterfaces", "IteratorInterfaceExtensions", "LinearAlgebra", "OrderedCollections", "TableTraits", "Test"] -git-tree-sha1 = "1544b926975372da01227b382066ab70e574a3ec" -uuid = "bd369af6-aec1-5ad0-b16a-f7cc5008161c" -version = "1.10.1" - -[[deps.Tar]] -deps = ["ArgTools", "SHA"] -uuid = "a4e569a6-e804-4fa4-b0f3-eef7a1d5b13e" -version = "1.10.1" - -[[deps.TensorCore]] -deps = ["LinearAlgebra"] -git-tree-sha1 = "1feb45f88d133a655e001435632f019a9a1bcdb6" -uuid = "62fd8b95-f654-4bbd-a8a5-9c27f68ccd50" -version = "0.1.1" - -[[deps.Term]] -deps = ["AbstractTrees", "CodeTracking", "Dates", "Highlights", "InteractiveUtils", "Logging", "Markdown", "MyterialColors", "OrderedCollections", "Parameters", "ProgressLogging", "REPL", "SnoopPrecompile", "Tables", "UUIDs", "Unicode", "UnicodeFun"] -git-tree-sha1 = "373d65207cb8de6d2e7bd32b89476e760c6edc4d" -uuid = "22787eb5-b846-44ae-b979-8e399b8463ab" -version = "2.0.2" - -[[deps.Test]] -deps = ["InteractiveUtils", "Logging", "Random", "Serialization"] -uuid = "8dfed614-e22c-5e08-85e1-65c5234f0b40" - -[[deps.TimerOutputs]] -deps = ["ExprTools", "Printf"] -git-tree-sha1 = "f548a9e9c490030e545f72074a41edfd0e5bcdd7" -uuid = "a759f4b9-e2f1-59dc-863e-4aeb61b1ea8f" -version = "0.5.23" - -[[deps.Tracker]] -deps = ["Adapt", "DiffRules", "ForwardDiff", "LinearAlgebra", "LogExpFunctions", "MacroTools", "NNlib", "NaNMath", "Printf", "Random", "Requires", "SpecialFunctions", "Statistics"] -git-tree-sha1 = "0874c1b5de1b5529b776cfeca3ec0acfada97b1b" -uuid = "9f7883ad-71c0-57eb-9f7f-b5c9e6d3789c" -version = "0.2.20" - -[[deps.TranscodingStreams]] -deps = ["Random", "Test"] -git-tree-sha1 = "0b829474fed270a4b0ab07117dce9b9a2fa7581a" -uuid = "3bb67fe8-82b1-5028-8e26-92a6c54297fa" -version = "0.9.12" - -[[deps.Transducers]] -deps = ["Adapt", "ArgCheck", "BangBang", "Baselet", "CompositionsBase", "DefineSingletons", "Distributed", "InitialValues", "Logging", "Markdown", "MicroCollections", "Requires", "Setfield", "SplittablesBase", "Tables"] -git-tree-sha1 = "c42fa452a60f022e9e087823b47e5a5f8adc53d5" -uuid = "28d57a85-8fef-5791-bfe6-a80928e7c999" -version = "0.4.75" - -[[deps.TupleTools]] -git-tree-sha1 = "3c712976c47707ff893cf6ba4354aa14db1d8938" -uuid = "9d95972d-f1c8-5527-a6e0-b4b365fa01f6" -version = "1.3.0" - -[[deps.UMAP]] -deps = ["Arpack", "Distances", "LinearAlgebra", "LsqFit", "NearestNeighborDescent", "Random", "SparseArrays"] -git-tree-sha1 = "2a6991639e93fcbbdb8a0476b521a6ac9700ee97" -uuid = "c4f8c510-2410-5be4-91d7-4fbaeb39457e" -version = "0.1.9" - -[[deps.URIs]] -git-tree-sha1 = "074f993b0ca030848b897beff716d93aca60f06a" -uuid = "5c2747f8-b7ea-4ff2-ba2e-563bfd36b1d4" -version = "1.4.2" - -[[deps.UUIDs]] -deps = ["Random", "SHA"] -uuid = "cf7118a7-6976-5b1a-9a39-7adc72f591a4" - -[[deps.UnPack]] -git-tree-sha1 = "387c1f73762231e86e0c9c5443ce3b4a0a9a0c2b" -uuid = "3a884ed6-31ef-47d7-9d2a-63182c4928ed" -version = "1.0.2" - -[[deps.Unicode]] -uuid = "4ec0a83e-493e-50e2-b9ac-8f72acf5a8f5" - -[[deps.UnicodeFun]] -deps = ["REPL"] -git-tree-sha1 = "53915e50200959667e78a92a418594b428dffddf" -uuid = "1cfade01-22cf-5700-b092-accc4b62d6e1" -version = "0.4.1" - -[[deps.UnicodePlots]] -deps = ["ColorSchemes", "ColorTypes", "Contour", "Crayons", "Dates", "LinearAlgebra", "MarchingCubes", "NaNMath", "Printf", "Requires", "SnoopPrecompile", "SparseArrays", "StaticArrays", "StatsBase"] -git-tree-sha1 = "2825e58f6ec3cab889dfa2c824f8d89b9f7ee731" -uuid = "b8865327-cd53-5732-bb35-84acbb429228" -version = "3.5.1" - -[[deps.UnsafeAtomics]] -git-tree-sha1 = "6331ac3440856ea1988316b46045303bef658278" -uuid = "013be700-e6cd-48c3-b4a1-df204f14c38f" -version = "0.2.1" - -[[deps.UnsafeAtomicsLLVM]] -deps = ["LLVM", "UnsafeAtomics"] -git-tree-sha1 = "ea37e6066bf194ab78f4e747f5245261f17a7175" -uuid = "d80eeb9a-aca5-4d75-85e5-170c8b632249" -version = "0.1.2" - -[[deps.Unzip]] -git-tree-sha1 = "ca0969166a028236229f63514992fc073799bb78" -uuid = "41fe7b60-77ed-43a1-b4f0-825fd5a5650d" -version = "0.2.0" - -[[deps.Wayland_jll]] -deps = ["Artifacts", "Expat_jll", "JLLWrappers", "Libdl", "Libffi_jll", "Pkg", "XML2_jll"] -git-tree-sha1 = "ed8d92d9774b077c53e1da50fd81a36af3744c1c" -uuid = "a2964d1f-97da-50d4-b82a-358c7fce9d89" -version = "1.21.0+0" - -[[deps.Wayland_protocols_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "4528479aa01ee1b3b4cd0e6faef0e04cf16466da" -uuid = "2381bf8a-dfd0-557d-9999-79630e7b1b91" -version = "1.25.0+0" - -[[deps.WeakRefStrings]] -deps = ["DataAPI", "InlineStrings", "Parsers"] -git-tree-sha1 = "b1be2855ed9ed8eac54e5caff2afcdb442d52c23" -uuid = "ea10d353-3f73-51f8-a26c-33c1cb351aa5" -version = "1.4.2" - -[[deps.Widgets]] -deps = ["Colors", "Dates", "Observables", "OrderedCollections"] -git-tree-sha1 = "fcdae142c1cfc7d89de2d11e08721d0f2f86c98a" -uuid = "cc8bc4a8-27d6-5769-a93b-9d913e69aa62" -version = "0.6.6" - -[[deps.WoodburyMatrices]] -deps = ["LinearAlgebra", "SparseArrays"] -git-tree-sha1 = "de67fa59e33ad156a590055375a30b23c40299d3" -uuid = "efce3f68-66dc-5838-9240-27a6d6f5f9b6" -version = "0.5.5" - -[[deps.WorkerUtilities]] -git-tree-sha1 = "cd1659ba0d57b71a464a29e64dbc67cfe83d54e7" -uuid = "76eceee3-57b5-4d4a-8e66-0e911cebbf60" -version = "1.6.1" - -[[deps.XML2_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Libiconv_jll", "Pkg", "Zlib_jll"] -git-tree-sha1 = "93c41695bc1c08c46c5899f4fe06d6ead504bb73" -uuid = "02c8fc9c-b97f-50b9-bbe4-9be30ff0a78a" -version = "2.10.3+0" - -[[deps.XSLT_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Libgcrypt_jll", "Libgpg_error_jll", "Libiconv_jll", "Pkg", "XML2_jll", "Zlib_jll"] -git-tree-sha1 = "91844873c4085240b95e795f692c4cec4d805f8a" -uuid = "aed1982a-8fda-507f-9586-7b0439959a61" -version = "1.1.34+0" - -[[deps.Xorg_libX11_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libxcb_jll", "Xorg_xtrans_jll"] -git-tree-sha1 = "5be649d550f3f4b95308bf0183b82e2582876527" -uuid = "4f6342f7-b3d2-589e-9d20-edeb45f2b2bc" -version = "1.6.9+4" - -[[deps.Xorg_libXau_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "4e490d5c960c314f33885790ed410ff3a94ce67e" -uuid = "0c0b7dd1-d40b-584c-a123-a41640f87eec" -version = "1.0.9+4" - -[[deps.Xorg_libXcursor_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libXfixes_jll", "Xorg_libXrender_jll"] -git-tree-sha1 = "12e0eb3bc634fa2080c1c37fccf56f7c22989afd" -uuid = "935fb764-8cf2-53bf-bb30-45bb1f8bf724" -version = "1.2.0+4" - -[[deps.Xorg_libXdmcp_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "4fe47bd2247248125c428978740e18a681372dd4" -uuid = "a3789734-cfe1-5b06-b2d0-1dd0d9d62d05" -version = "1.1.3+4" - -[[deps.Xorg_libXext_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libX11_jll"] -git-tree-sha1 = "b7c0aa8c376b31e4852b360222848637f481f8c3" -uuid = "1082639a-0dae-5f34-9b06-72781eeb8cb3" -version = "1.3.4+4" - -[[deps.Xorg_libXfixes_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libX11_jll"] -git-tree-sha1 = "0e0dc7431e7a0587559f9294aeec269471c991a4" -uuid = "d091e8ba-531a-589c-9de9-94069b037ed8" -version = "5.0.3+4" - -[[deps.Xorg_libXi_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libXext_jll", "Xorg_libXfixes_jll"] -git-tree-sha1 = "89b52bc2160aadc84d707093930ef0bffa641246" -uuid = "a51aa0fd-4e3c-5386-b890-e753decda492" -version = "1.7.10+4" - -[[deps.Xorg_libXinerama_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libXext_jll"] -git-tree-sha1 = "26be8b1c342929259317d8b9f7b53bf2bb73b123" -uuid = "d1454406-59df-5ea1-beac-c340f2130bc3" -version = "1.1.4+4" - -[[deps.Xorg_libXrandr_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libXext_jll", "Xorg_libXrender_jll"] -git-tree-sha1 = "34cea83cb726fb58f325887bf0612c6b3fb17631" -uuid = "ec84b674-ba8e-5d96-8ba1-2a689ba10484" -version = "1.5.2+4" - -[[deps.Xorg_libXrender_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libX11_jll"] -git-tree-sha1 = "19560f30fd49f4d4efbe7002a1037f8c43d43b96" -uuid = "ea2f1a96-1ddc-540d-b46f-429655e07cfa" -version = "0.9.10+4" - -[[deps.Xorg_libpthread_stubs_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "6783737e45d3c59a4a4c4091f5f88cdcf0908cbb" -uuid = "14d82f49-176c-5ed1-bb49-ad3f5cbd8c74" -version = "0.1.0+3" - -[[deps.Xorg_libxcb_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "XSLT_jll", "Xorg_libXau_jll", "Xorg_libXdmcp_jll", "Xorg_libpthread_stubs_jll"] -git-tree-sha1 = "daf17f441228e7a3833846cd048892861cff16d6" -uuid = "c7cfdc94-dc32-55de-ac96-5a1b8d977c5b" -version = "1.13.0+3" - -[[deps.Xorg_libxkbfile_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libX11_jll"] -git-tree-sha1 = "926af861744212db0eb001d9e40b5d16292080b2" -uuid = "cc61e674-0454-545c-8b26-ed2c68acab7a" -version = "1.1.0+4" - -[[deps.Xorg_xcb_util_image_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_xcb_util_jll"] -git-tree-sha1 = "0fab0a40349ba1cba2c1da699243396ff8e94b97" -uuid = "12413925-8142-5f55-bb0e-6d7ca50bb09b" -version = "0.4.0+1" - -[[deps.Xorg_xcb_util_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libxcb_jll"] -git-tree-sha1 = "e7fd7b2881fa2eaa72717420894d3938177862d1" -uuid = "2def613f-5ad1-5310-b15b-b15d46f528f5" -version = "0.4.0+1" - -[[deps.Xorg_xcb_util_keysyms_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_xcb_util_jll"] -git-tree-sha1 = "d1151e2c45a544f32441a567d1690e701ec89b00" -uuid = "975044d2-76e6-5fbe-bf08-97ce7c6574c7" -version = "0.4.0+1" - -[[deps.Xorg_xcb_util_renderutil_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_xcb_util_jll"] -git-tree-sha1 = "dfd7a8f38d4613b6a575253b3174dd991ca6183e" -uuid = "0d47668e-0667-5a69-a72c-f761630bfb7e" -version = "0.3.9+1" - -[[deps.Xorg_xcb_util_wm_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_xcb_util_jll"] -git-tree-sha1 = "e78d10aab01a4a154142c5006ed44fd9e8e31b67" -uuid = "c22f9ab0-d5fe-5066-847c-f4bb1cd4e361" -version = "0.4.1+1" - -[[deps.Xorg_xkbcomp_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libxkbfile_jll"] -git-tree-sha1 = "4bcbf660f6c2e714f87e960a171b119d06ee163b" -uuid = "35661453-b289-5fab-8a00-3d9160c6a3a4" -version = "1.4.2+4" - -[[deps.Xorg_xkeyboard_config_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_xkbcomp_jll"] -git-tree-sha1 = "5c8424f8a67c3f2209646d4425f3d415fee5931d" -uuid = "33bec58e-1273-512f-9401-5d533626f822" -version = "2.27.0+4" - -[[deps.Xorg_xtrans_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "79c31e7844f6ecf779705fbc12146eb190b7d845" -uuid = "c5fb5394-a638-5e4d-96e5-b29de1b5cf10" -version = "1.4.0+3" - -[[deps.ZipFile]] -deps = ["Libdl", "Printf", "Zlib_jll"] -git-tree-sha1 = "f492b7fe1698e623024e873244f10d89c95c340a" -uuid = "a5390f91-8eb1-5f08-bee0-b1d1ffed6cea" -version = "0.10.1" - -[[deps.Zlib_jll]] -deps = ["Libdl"] -uuid = "83775a58-1f1d-513f-b197-d71354ab007a" -version = "1.2.12+3" - -[[deps.Zstd_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "49ce682769cd5de6c72dcf1b94ed7790cd08974c" -uuid = "3161d3a3-bdf6-5164-811a-617609db77b4" -version = "1.5.5+0" - -[[deps.Zygote]] -deps = ["AbstractFFTs", "ChainRules", "ChainRulesCore", "DiffRules", "Distributed", "FillArrays", "ForwardDiff", "GPUArrays", "GPUArraysCore", "IRTools", "InteractiveUtils", "LinearAlgebra", "LogExpFunctions", "MacroTools", "NaNMath", "Random", "Requires", "SnoopPrecompile", "SparseArrays", "SpecialFunctions", "Statistics", "ZygoteRules"] -git-tree-sha1 = "987ae5554ca90e837594a0f30325eeb5e7303d1e" -uuid = "e88e6eb3-aa80-5325-afca-941959d7151f" -version = "0.6.60" - -[[deps.ZygoteRules]] -deps = ["ChainRulesCore", "MacroTools"] -git-tree-sha1 = "977aed5d006b840e2e40c0b48984f7463109046d" -uuid = "700de1a5-db45-46bc-99cf-38207098b444" -version = "0.2.3" - -[[deps.cuDNN]] -deps = ["CEnum", "CUDA", "CUDNN_jll"] -git-tree-sha1 = "3aa15aba7aad5be8b9b3c1b77a9b81e3e1357280" -uuid = "02a925ec-e4fe-4b08-9a7e-0d78e3d38ccd" -version = "1.0.2" - -[[deps.fzf_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "868e669ccb12ba16eaf50cb2957ee2ff61261c56" -uuid = "214eeab7-80f7-51ab-84ad-2988db7cef09" -version = "0.29.0+0" - -[[deps.libaom_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "3a2ea60308f0996d26f1e5354e10c24e9ef905d4" -uuid = "a4ae2306-e953-59d6-aa16-d00cac43593b" -version = "3.4.0+0" - -[[deps.libass_jll]] -deps = ["Artifacts", "Bzip2_jll", "FreeType2_jll", "FriBidi_jll", "HarfBuzz_jll", "JLLWrappers", "Libdl", "Pkg", "Zlib_jll"] -git-tree-sha1 = "5982a94fcba20f02f42ace44b9894ee2b140fe47" -uuid = "0ac62f75-1d6f-5e53-bd7c-93b484bb37c0" -version = "0.15.1+0" - -[[deps.libblastrampoline_jll]] -deps = ["Artifacts", "Libdl", "OpenBLAS_jll"] -uuid = "8e850b90-86db-534c-a0d3-1478176c7d93" -version = "5.1.1+0" - -[[deps.libfdk_aac_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "daacc84a041563f965be61859a36e17c4e4fcd55" -uuid = "f638f0a6-7fb0-5443-88ba-1cc74229b280" -version = "2.0.2+0" - -[[deps.libpng_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Zlib_jll"] -git-tree-sha1 = "94d180a6d2b5e55e447e2d27a29ed04fe79eb30c" -uuid = "b53b4c65-9356-5827-b1ea-8c7a1a84506f" -version = "1.6.38+0" - -[[deps.libvorbis_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Ogg_jll", "Pkg"] -git-tree-sha1 = "b910cb81ef3fe6e78bf6acee440bda86fd6ae00c" -uuid = "f27f6e37-5d2b-51aa-960f-b287f2bc3b7a" -version = "1.3.7+1" - -[[deps.nghttp2_jll]] -deps = ["Artifacts", "Libdl"] -uuid = "8e850ede-7688-5339-a07c-302acd2aaf8d" -version = "1.48.0+0" - -[[deps.p7zip_jll]] -deps = ["Artifacts", "Libdl"] -uuid = "3f19e933-33d8-53b3-aaab-bd5110c3b7a0" -version = "17.4.0+0" - -[[deps.x264_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "4fea590b89e6ec504593146bf8b988b2c00922b2" -uuid = "1270edf5-f2f9-52d2-97e9-ab00b5d0237a" -version = "2021.5.5+0" - -[[deps.x265_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "ee567a171cce03570d77ad3a43e90218e38937a9" -uuid = "dfaa095f-4041-5dcd-9319-2fabd8486b76" -version = "3.5.0+0" - -[[deps.xkbcommon_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Wayland_jll", "Wayland_protocols_jll", "Xorg_libxcb_jll", "Xorg_xkeyboard_config_jll"] -git-tree-sha1 = "9ebfc140cc56e8c2156a15ceac2f0302e327ac0a" -uuid = "d8fb68d0-12a3-5cfd-a85a-d49703b185fd" -version = "1.4.1+0" diff --git a/Project.toml b/Project.toml index 0d31db08..b25250f6 100644 --- a/Project.toml +++ b/Project.toml @@ -1,6 +1,6 @@ name = "ECCCo" uuid = "0232c203-4013-4b0d-ad96-43e3e11ac3bf" -authors = ["Patrick Altmeyer"] +authors = ["Anonymous Author"] version = "0.1.0" [deps] diff --git a/README.md b/README.md index dff821d3..935518de 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,69 @@ # ECCCo -[![Build Status](https://github.com/pat-alt/ECCCo.jl/actions/workflows/CI.yml/badge.svg?branch=main)](https://github.com/pat-alt/ECCCo.jl/actions/workflows/CI.yml?query=branch%3Amain) +![](artifacts/results/images/poc_gradient_fields.png) + +*Energy-Constrained Counterfactual Explanations.* + +This work is currently undergoing peer review. This README is therefore only meant to provide reviewers access to the code base. The code base will be made public after the review process. + +## Inspecting the Package Code + +This code base is structured as a Julia package. The package code is located in the `src/` folder. + +## Inspecting the Code for Experiments + +We used [Quarto](https://quarto.org/) notebooks for prototyping and running experiments. The notebooks are located in the `notebooks/` folder, separated by dataset: + +- [Linearly Separable](notebooks/linearly_separable.qmd) +- [Moons](notebooks/moons.qmd) +- [Circles](notebooks/circles.qmd) +- [MNIST](notebooks/mnist.qmd) +- [GMSC](notebooks/gmsc.qmd) + +## Inspecting the Results + +All results have been carefully reported either in the paper itself or in the supplementary material. In addition, we have released our results as binary files. These will be made publicly available after the review process. + +## Reproducing the Results + +To reproduce the results, you need to install the package, which will automatically install all dependencies. Since the package is not publicly registered and you are looking at an anonymous repository that [cannot be cloned](https://anonymous.4open.science/faq#download), unfortunately, it is not possible to easily install the package and reproduce the results at this stage of the review process. + +However, provided that the package is indeed installed, you can reproduce the results by either running the experiments in the `experiments/` folder or using the notebooks listed above for a more interactive process. + +**Note**: All experiments were run on `julia-1.8.5`. Since pre-trained models were serialised on that version they may not be compatible with newer versions of Julia. + +### Command Line + +The `experiments/` folder contains separate Julia scripts for each dataset and a [run_experiments.jl](experiments/run_experiments.jl) that calls the individual scripts. You can either cun these scripts inside a Julia session or just use the command line to execute them as described in the following. + +To run the experiment for a single dataset, (e.g. `linearly_separable`) simply run the following command: + +```shell +DATANAME=linearly_separable +julia experiments/run_experiments.jl +``` + +We use the following identifiers: + +- `linearly_separable` (*Linearly Separable* data) +- `moons` (*Moons* data) +- `circles` (*Circles* data) +- `mnist` (*MNIST* data) +- `gmsc` (*GMSC* data) + +To run all experiments at once you can instead just specify `DATANAME=all`. + +Pre-trained versions of all of our black-box models have been archived as `Pkg` [artifacts](https://pkgdocs.julialang.org/v1/artifacts/) and are used by default. Should you wish to retrain the models as well, simply run the following command: + +```shell +DATANAME=linearly_separable +RETRAIN=true +julia experiments/run_experiments.jl +``` + +When running the experiments from the command line, the parameter choices used in the main paper are applied by default. To have control over these choices, we recommend you instead rely on the notebooks. + +### Notebooks + +To run the notebooks and ensure that all package dependencies are installed, you need to clone this repo and open it on your device. The first cell in each notebook sets up the environment. You may have to [instantiate](https://pkgdocs.julialang.org/v1/api/#Pkg.instantiate) the local environment once. Should you prefer working with Jupyter notebooks instead of Quarto, you can easily [convert](https://quarto.org/docs/tools/vscode-notebook.html#converting-notebooks) them through a single command. + diff --git a/_quarto.yml b/_quarto.yml index 81579853..0127d30e 100644 --- a/_quarto.yml +++ b/_quarto.yml @@ -6,7 +6,7 @@ project: book: title: "Conformal Counterfactual Explanations" subtitle: "Online Companion" - author: "Patrick Altmeyer" + author: "Anonymous Author" date: today chapters: - index.qmd diff --git a/bib.bib b/bib.bib new file mode 100644 index 00000000..daed3cba --- /dev/null +++ b/bib.bib @@ -0,0 +1,2837 @@ +@TechReport{kingma2017adam, + author = {Kingma, Diederik P. and Ba, Jimmy}, + date = {2017-01}, + institution = {arXiv}, + title = {Adam: {A} {Method} for {Stochastic} {Optimization}}, + doi = {10.48550/arXiv.1412.6980}, + note = {arXiv:1412.6980 [cs] type: article}, + url = {http://arxiv.org/abs/1412.6980}, + urldate = {2023-05-17}, + abstract = {We introduce Adam, an algorithm for first-order gradient-based optimization of stochastic objective functions, based on adaptive estimates of lower-order moments. The method is straightforward to implement, is computationally efficient, has little memory requirements, is invariant to diagonal rescaling of the gradients, and is well suited for problems that are large in terms of data and/or parameters. The method is also appropriate for non-stationary objectives and problems with very noisy and/or sparse gradients. The hyper-parameters have intuitive interpretations and typically require little tuning. Some connections to related algorithms, on which Adam was inspired, are discussed. We also analyze the theoretical convergence properties of the algorithm and provide a regret bound on the convergence rate that is comparable to the best known results under the online convex optimization framework. Empirical results demonstrate that Adam works well in practice and compares favorably to other stochastic optimization methods. Finally, we discuss AdaMax, a variant of Adam based on the infinity norm.}, + annotation = {Comment: Published as a conference paper at the 3rd International Conference for Learning Representations, San Diego, 2015}, + file = {arXiv Fulltext PDF:https\://arxiv.org/pdf/1412.6980.pdf:application/pdf}, + keywords = {Computer Science - Machine Learning}, + shorttitle = {Adam}, +} + +@TechReport{xiao2017fashion, + author = {Xiao, Han and Rasul, Kashif and Vollgraf, Roland}, + date = {2017-09}, + institution = {arXiv}, + title = {Fashion-{MNIST}: a {Novel} {Image} {Dataset} for {Benchmarking} {Machine} {Learning} {Algorithms}}, + doi = {10.48550/arXiv.1708.07747}, + note = {arXiv:1708.07747 [cs, stat] type: article}, + url = {http://arxiv.org/abs/1708.07747}, + urldate = {2023-05-10}, + abstract = {We present Fashion-MNIST, a new dataset comprising of 28x28 grayscale images of 70,000 fashion products from 10 categories, with 7,000 images per category. The training set has 60,000 images and the test set has 10,000 images. Fashion-MNIST is intended to serve as a direct drop-in replacement for the original MNIST dataset for benchmarking machine learning algorithms, as it shares the same image size, data format and the structure of training and testing splits. The dataset is freely available at https://github.com/zalandoresearch/fashion-mnist}, + annotation = {Comment: Dataset is freely available at https://github.com/zalandoresearch/fashion-mnist Benchmark is available at http://fashion-mnist.s3-website.eu-central-1.amazonaws.com/}, + file = {:xiao2017fashion - Fashion MNIST_ a Novel Image Dataset for Benchmarking Machine Learning Algorithms.pdf:PDF}, + keywords = {Computer Science - Machine Learning, Computer Science - Computer Vision and Pattern Recognition, Statistics - Machine Learning}, + shorttitle = {Fashion-{MNIST}}, +} + +@Online{mw2023fidelity, + author = {Merriam-Webster}, + title = {"Fidelity"}, + url = {https://www.merriam-webster.com/dictionary/fidelity}, + language = {en}, + organization = {Merriam-Webster}, + urldate = {2023-03-23}, + abstract = {the quality or state of being faithful; accuracy in details : exactness; the degree to which an electronic device (such as a record player, radio, or television) accurately reproduces its effect (such as sound or picture)… See the full definition}, +} + +@InProceedings{altmeyer2023endogenous, + author = {Altmeyer, Patrick and Angela, Giovan and Buszydlik, Aleksander and Dobiczek, Karol and van Deursen, Arie and Liem, Cynthia}, + booktitle = {First {IEEE} {Conference} on {Secure} and {Trustworthy} {Machine} {Learning}}, + title = {Endogenous {Macrodynamics} in {Algorithmic} {Recourse}}, + file = {:altmeyerendogenous - Endogenous Macrodynamics in Algorithmic Recourse.pdf:PDF}, + year = {2023}, +} + +%% This BibTeX bibliography file was created using BibDesk. +%% https://bibdesk.sourceforge.io/ + +%% Created for Anonymous Author at 2022-12-13 12:58:22 +0100 + + +%% Saved with string encoding Unicode (UTF-8) + + + +@Article{abadie2002instrumental, + author = {Abadie, Alberto and Angrist, Joshua and Imbens, Guido}, + title = {Instrumental Variables Estimates of the Effect of Subsidized Training on the Quantiles of Trainee Earnings}, + number = {1}, + pages = {91--117}, + volume = {70}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {Econometrica : journal of the Econometric Society}, + shortjournal = {Econometrica}, + year = {2002}, +} + +@Article{abadie2003economic, + author = {Abadie, Alberto and Gardeazabal, Javier}, + title = {The Economic Costs of Conflict: {{A}} Case Study of the {{Basque Country}}}, + number = {1}, + pages = {113--132}, + volume = {93}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {American economic review}, + year = {2003}, +} + +@InProceedings{ackerman2021machine, + author = {Ackerman, Samuel and Dube, Parijat and Farchi, Eitan and Raz, Orna and Zalmanovici, Marcel}, + booktitle = {2021 {{IEEE}}/{{ACM Third International Workshop}} on {{Deep Learning}} for {{Testing}} and {{Testing}} for {{Deep Learning}} ({{DeepTest}})}, + title = {Machine {{Learning Model Drift Detection Via Weak Data Slices}}}, + pages = {1--8}, + publisher = {{IEEE}}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + year = {2021}, +} + +@Article{allen2017referencedependent, + author = {Allen, Eric J and Dechow, Patricia M and Pope, Devin G and Wu, George}, + title = {Reference-Dependent Preferences: {{Evidence}} from Marathon Runners}, + number = {6}, + pages = {1657--1672}, + volume = {63}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {Management Science}, + year = {2017}, +} + +@Article{altmeyer2018option, + author = {Altmeyer, Patrick and Grapendal, Jacob Daniel and Pravosud, Makar and Quintana, Gand Derry}, + title = {Option Pricing in the {{Heston}} Stochastic Volatility Model: An Empirical Evaluation}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + year = {2018}, +} + +@Article{altmeyer2021deep, + author = {Altmeyer, Patrick and Agusti, Marc and Vidal-Quadras Costa, Ignacio}, + title = {Deep {{Vector Autoregression}} for {{Macroeconomic Data}}}, + url = {https://thevoice.bse.eu/wp-content/uploads/2021/07/ds21-project-agusti-et-al.pdf}, + bdsk-url-1 = {https://thevoice.bse.eu/wp-content/uploads/2021/07/ds21-project-agusti-et-al.pdf}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + year = {2021}, +} + +@Book{altmeyer2021deepvars, + author = {Altmeyer, Patrick}, + title = {Deepvars: {{Deep Vector Autoregession}}}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + year = {2021}, +} + +@Misc{altmeyer2022counterfactualexplanations, + author = {Altmeyer, Patrick}, + title = {{{CounterfactualExplanations}}.Jl - a {{Julia}} Package for {{Counterfactual Explanations}} and {{Algorithmic Recourse}}}, + url = {https://github.com/pat-alt/CounterfactualExplanations.jl}, + bdsk-url-1 = {https://github.com/pat-alt/CounterfactualExplanations.jl}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + year = {2022}, +} + +@Software{altmeyerCounterfactualExplanationsJlJulia2022, + author = {Altmeyer, Patrick}, + title = {{{CounterfactualExplanations}}.Jl - a {{Julia}} Package for {{Counterfactual Explanations}} and {{Algorithmic Recourse}}}, + url = {https://github.com/pat-alt/CounterfactualExplanations.jl}, + version = {0.1.2}, + bdsk-url-1 = {https://github.com/pat-alt/CounterfactualExplanations.jl}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + year = {2022}, +} + +@Unpublished{angelopoulos2021gentle, + author = {Angelopoulos, Anastasios N. and Bates, Stephen}, + title = {A Gentle Introduction to Conformal Prediction and Distribution-Free Uncertainty Quantification}, + archiveprefix = {arXiv}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + eprint = {2107.07511}, + eprinttype = {arxiv}, + file = {:/Users/FA31DU/Zotero/storage/RKSUMYZG/Angelopoulos and Bates - 2021 - A gentle introduction to conformal prediction and .pdf:;:/Users/FA31DU/Zotero/storage/PRUEKRR3/2107.html:}, + year = {2021}, +} + +@Misc{angelopoulos2022uncertainty, + author = {Angelopoulos, Anastasios and Bates, Stephen and Malik, Jitendra and Jordan, Michael I.}, + title = {Uncertainty {{Sets}} for {{Image Classifiers}} Using {{Conformal Prediction}}}, + eprint = {2009.14193}, + eprinttype = {arxiv}, + abstract = {Convolutional image classifiers can achieve high predictive accuracy, but quantifying their uncertainty remains an unresolved challenge, hindering their deployment in consequential settings. Existing uncertainty quantification techniques, such as Platt scaling, attempt to calibrate the network's probability estimates, but they do not have formal guarantees. We present an algorithm that modifies any classifier to output a predictive set containing the true label with a user-specified probability, such as 90\%. The algorithm is simple and fast like Platt scaling, but provides a formal finite-sample coverage guarantee for every model and dataset. Our method modifies an existing conformal prediction algorithm to give more stable predictive sets by regularizing the small scores of unlikely classes after Platt scaling. In experiments on both Imagenet and Imagenet-V2 with ResNet-152 and other classifiers, our scheme outperforms existing approaches, achieving coverage with sets that are often factors of 5 to 10 smaller than a stand-alone Platt scaling baseline.}, + archiveprefix = {arXiv}, + bdsk-url-1 = {http://arxiv.org/abs/2009.14193}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + file = {:/Users/FA31DU/Zotero/storage/5BYIRBR2/Angelopoulos et al. - 2022 - Uncertainty Sets for Image Classifiers using Confo.pdf:;:/Users/FA31DU/Zotero/storage/2QJAKFKV/2009.html:}, + keywords = {Computer Science - Computer Vision and Pattern Recognition, Mathematics - Statistics Theory, Statistics - Machine Learning}, + month = sep, + number = {arXiv:2009.14193}, + primaryclass = {cs, math, stat}, + publisher = {{arXiv}}, + year = {2022}, +} + +@Article{angelucci2009indirect, + author = {Angelucci, Manuela and De Giorgi, Giacomo}, + title = {Indirect Effects of an Aid Program: How Do Cash Transfers Affect Ineligibles' Consumption?}, + number = {1}, + pages = {486--508}, + volume = {99}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {American economic review}, + year = {2009}, +} + +@Article{angrist1990lifetime, + author = {Angrist, Joshua D}, + title = {Lifetime Earnings and the {{Vietnam}} Era Draft Lottery: Evidence from Social Security Administrative Records}, + pages = {313--336}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {The American Economic Review}, + year = {1990}, +} + +@Unpublished{antoran2020getting, + author = {Antor{\'a}n, Javier and Bhatt, Umang and Adel, Tameem and Weller, Adrian and Hern{\'a}ndez-Lobato, Jos{\'e} Miguel}, + title = {Getting a Clue: {{A}} Method for Explaining Uncertainty Estimates}, + archiveprefix = {arXiv}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + eprint = {2006.06848}, + eprinttype = {arxiv}, + year = {2020}, +} + +@Article{arcones1992bootstrap, + author = {Arcones, Miguel A and Gine, Evarist}, + title = {On the Bootstrap of {{U}} and {{V}} Statistics}, + pages = {655--674}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {The Annals of Statistics}, + year = {1992}, +} + +@Article{ariely2003coherent, + author = {Ariely, Dan and Loewenstein, George and Prelec, Drazen}, + title = {``{{Coherent}} Arbitrariness'': {{Stable}} Demand Curves without Stable Preferences}, + number = {1}, + pages = {73--106}, + volume = {118}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {The Quarterly journal of economics}, + year = {2003}, +} + +@Article{ariely2006tom, + author = {Ariely, Dan and Loewenstein, George and Prelec, Drazen}, + title = {Tom {{Sawyer}} and the Construction of Value}, + number = {1}, + pages = {1--10}, + volume = {60}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {Journal of Economic Behavior \& Organization}, + year = {2006}, +} + +@Article{arrieta2020explainable, + author = {Arrieta, Alejandro Barredo and Diaz-Rodriguez, Natalia and Del Ser, Javier and Bennetot, Adrien and Tabik, Siham and Barbado, Alberto and Garcia, Salvador and Gil-Lopez, Sergio and Molina, Daniel and Benjamins, Richard and others}, + title = {Explainable {{Artificial Intelligence}} ({{XAI}}): {{Concepts}}, Taxonomies, Opportunities and Challenges toward Responsible {{AI}}}, + pages = {82--115}, + volume = {58}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {Information Fusion}, + year = {2020}, +} + +@Article{auer2002finitetime, + author = {Auer, Peter and Cesa-Bianchi, Nicolo and Fischer, Paul}, + title = {Finite-Time Analysis of the Multiarmed Bandit Problem}, + number = {2}, + pages = {235--256}, + volume = {47}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {Machine learning}, + year = {2002}, +} + +@Article{barabasi2016network, + author = {Barab{\'a}si, Albert-L{\'a}szl{\'o}}, + title = {Network {{Science}}}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {Network Science}, + year = {2016}, +} + +@Unpublished{bastounis2021mathematics, + author = {Bastounis, Alexander and Hansen, Anders C and Vla{\v c}i{\'c}, Verner}, + title = {The Mathematics of Adversarial Attacks in {{AI}}--{{Why}} Deep Learning Is Unstable despite the Existence of Stable Neural Networks}, + archiveprefix = {arXiv}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + eprint = {2109.06098}, + eprinttype = {arxiv}, + year = {2021}, +} + +@Article{bechara1997deciding, + author = {Bechara, Antoine and Damasio, Hanna and Tranel, Daniel and Damasio, Antonio R}, + title = {Deciding Advantageously before Knowing the Advantageous Strategy}, + number = {5304}, + pages = {1293--1295}, + volume = {275}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {Science (New York, N.Y.)}, + shortjournal = {Science}, + year = {1997}, +} + +@Book{berlinet2011reproducing, + author = {Berlinet, Alain and Thomas-Agnan, Christine}, + title = {Reproducing Kernel {{Hilbert}} Spaces in Probability and Statistics}, + publisher = {{Springer Science \& Business Media}}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + year = {2011}, +} + +@Misc{bernanke1990federal, + author = {Bernanke, Ben S}, + title = {The Federal Funds Rate and the Channels of Monetary Transnission}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + publisher = {{National Bureau of Economic Research Cambridge, Mass., USA}}, + year = {1990}, +} + +@Article{besbes2014stochastic, + author = {Besbes, Omar and Gur, Yonatan and Zeevi, Assaf}, + title = {Stochastic Multi-Armed-Bandit Problem with Non-Stationary Rewards}, + pages = {199--207}, + volume = {27}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {Advances in neural information processing systems}, + year = {2014}, +} + +@Article{bholat2020impact, + author = {Bholat, D and Gharbawi, M and Thew, O}, + title = {The {{Impact}} of {{Covid}} on {{Machine Learning}} and {{Data Science}} in {{UK Banking}}}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {Bank of England Quarterly Bulletin, Q4}, + year = {2020}, +} + +@Book{bishop2006pattern, + author = {Bishop, Christopher M}, + title = {Pattern Recognition and Machine Learning}, + publisher = {{springer}}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + year = {2006}, +} + +@Article{blaom2020mlj, + author = {Blaom, Anthony D. and Kiraly, Franz and Lienart, Thibaut and Simillides, Yiannis and Arenas, Diego and Vollmer, Sebastian J.}, + title = {{{MLJ}}: {{A Julia}} Package for Composable Machine Learning}, + doi = {10.21105/joss.02704}, + issn = {2475-9066}, + number = {55}, + pages = {2704}, + urldate = {2022-10-27}, + volume = {5}, + abstract = {Blaom et al., (2020). MLJ: A Julia package for composable machine learning. Journal of Open Source Software, 5(55), 2704, https://doi.org/10.21105/joss.02704}, + bdsk-url-1 = {https://joss.theoj.org/papers/10.21105/joss.02704}, + bdsk-url-2 = {https://doi.org/10.21105/joss.02704}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + file = {:/Users/FA31DU/Zotero/storage/7AY87FGP/Blaom et al. - 2020 - MLJ A Julia package for composable machine learni.pdf:;:/Users/FA31DU/Zotero/storage/D69YSMVF/joss.html:}, + journal = {Journal of Open Source Software}, + langid = {english}, + month = nov, + shorttitle = {{{MLJ}}}, + year = {2020}, +} + +@InProceedings{blundell2015weight, + author = {Blundell, Charles and Cornebise, Julien and Kavukcuoglu, Koray and Wierstra, Daan}, + booktitle = {International Conference on Machine Learning}, + title = {Weight Uncertainty in Neural Network}, + pages = {1613--1622}, + publisher = {{PMLR}}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + year = {2015}, +} + +@Article{borch2022machine, + author = {Borch, Christian}, + title = {Machine Learning, Knowledge Risk, and Principal-Agent Problems in Automated Trading}, + pages = {101852}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {Technology in Society}, + year = {2022}, +} + +@Unpublished{borisov2021deep, + author = {Borisov, Vadim and Leemann, Tobias and Se{\ss}ler, Kathrin and Haug, Johannes and Pawelczyk, Martin and Kasneci, Gjergji}, + title = {Deep Neural Networks and Tabular Data: {{A}} Survey}, + archiveprefix = {arXiv}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + eprint = {2110.01889}, + eprinttype = {arxiv}, + year = {2021}, +} + +@Article{bramoulle2009identification, + author = {Bramoull{\'e}, Yann and Djebbari, Habiba and Fortin, Bernard}, + title = {Identification of Peer Effects through Social Networks}, + number = {1}, + pages = {41--55}, + volume = {150}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {Journal of econometrics}, + year = {2009}, +} + +@Article{bramoulle2020peer, + author = {Bramoull{\'e}, Yann and Djebbari, Habiba and Fortin, Bernard}, + title = {Peer Effects in Networks: {{A}} Survey}, + pages = {603--629}, + volume = {12}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {Annual Review of Economics}, + year = {2020}, +} + +@Unpublished{branco2015survey, + author = {Branco, Paula and Torgo, Luis and Ribeiro, Rita}, + title = {A Survey of Predictive Modelling under Imbalanced Distributions}, + archiveprefix = {arXiv}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + eprint = {1505.01658}, + eprinttype = {arxiv}, + year = {2015}, +} + +@Book{brock1991nonlinear, + author = {Brock, William Allen and Brock, William A and Hsieh, David Arthur and LeBaron, Blake Dean and Brock, William E}, + title = {Nonlinear Dynamics, Chaos, and Instability: Statistical Theory and Economic Evidence}, + publisher = {{MIT press}}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + year = {1991}, +} + +@InProceedings{buolamwini2018gender, + author = {Buolamwini, Joy and Gebru, Timnit}, + booktitle = {Conference on Fairness, Accountability and Transparency}, + title = {Gender Shades: {{Intersectional}} Accuracy Disparities in Commercial Gender Classification}, + pages = {77--91}, + publisher = {{PMLR}}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + year = {2018}, +} + +@Unpublished{bussmann2020neural, + author = {Bussmann, Bart and Nys, Jannes and Latr{\'e}, Steven}, + title = {Neural {{Additive Vector Autoregression Models}} for {{Causal Discovery}} in {{Time Series Data}}}, + archiveprefix = {arXiv}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + eprint = {2010.09429}, + eprinttype = {arxiv}, + year = {2020}, +} + +@Report{card1993minimum, + author = {Card, David and Krueger, Alan B}, + title = {Minimum Wages and Employment: {{A}} Case Study of the Fast Food Industry in {{New Jersey}} and {{Pennsylvania}}}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + school = {{National Bureau of Economic Research}}, + year = {1993}, +} + +@InProceedings{carlini2017evaluating, + author = {Carlini, Nicholas and Wagner, David}, + booktitle = {2017 Ieee Symposium on Security and Privacy (Sp)}, + title = {Towards Evaluating the Robustness of Neural Networks}, + pages = {39--57}, + publisher = {{IEEE}}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + year = {2017}, +} + +@Article{carlisle2019racist, + author = {Carlisle, M.}, + title = {Racist Data Destruction? - a {{Boston}} Housing Dataset Controversy}, + url = {https://medium.com/@docintangible/racist-data-destruction-113e3eff54a8}, + bdsk-url-1 = {https://medium.com/@docintangible/racist-data-destruction-113e3eff54a8}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + year = {2019}, +} + +@Article{carrell2009does, + author = {Carrell, Scott E and Fullerton, Richard L and West, James E}, + title = {Does Your Cohort Matter? {{Measuring}} Peer Effects in College Achievement}, + number = {3}, + pages = {439--464}, + volume = {27}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {Journal of Labor Economics}, + year = {2009}, +} + +@Article{carrell2013natural, + author = {Carrell, Scott E and Sacerdote, Bruce I and West, James E}, + title = {From Natural Variation to Optimal Policy? {{The}} Importance of Endogenous Peer Group Formation}, + number = {3}, + pages = {855--882}, + volume = {81}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {Econometrica : journal of the Econometric Society}, + shortjournal = {Econometrica}, + year = {2013}, +} + +@Article{carrizosa2021generating, + author = {Carrizosa, Emilio and Ramırez-Ayerbe, Jasone and Romero, Dolores}, + title = {Generating {{Collective Counterfactual Explanations}} in {{Score-Based Classification}} via {{Mathematical Optimization}}}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + year = {2021}, +} + +@Article{cascarino2022explainable, + author = {Cascarino, Giuseppe and Moscatelli, Mirko and Parlapiano, Fabio}, + title = {Explainable {{Artificial Intelligence}}: Interpreting Default Forecasting Models Based on {{Machine Learning}}}, + number = {674}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {Bank of Italy Occasional Paper}, + year = {2022}, +} + +@Article{chandola2009anomaly, + author = {Chandola, Varun and Banerjee, Arindam and Kumar, Vipin}, + title = {Anomaly Detection: {{A}} Survey}, + number = {3}, + pages = {1--58}, + volume = {41}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {ACM computing surveys (CSUR)}, + year = {2009}, +} + +@Article{chapelle2011empirical, + author = {Chapelle, Olivier and Li, Lihong}, + title = {An Empirical Evaluation of Thompson Sampling}, + pages = {2249--2257}, + volume = {24}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {Advances in neural information processing systems}, + year = {2011}, +} + +@Article{chetty2011adjustment, + author = {Chetty, Raj and Friedman, John N and Olsen, Tore and Pistaferri, Luigi}, + title = {Adjustment Costs, Firm Responses, and Micro vs. Macro Labor Supply Elasticities: {{Evidence}} from {{Danish}} Tax Records}, + number = {2}, + pages = {749--804}, + volume = {126}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {The quarterly journal of economics}, + year = {2011}, +} + +@Article{cortes1995supportvector, + author = {Cortes, Corinna and Vapnik, Vladimir}, + title = {Support-Vector Networks}, + number = {3}, + pages = {273--297}, + volume = {20}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {Machine learning}, + year = {1995}, +} + +@Article{crawford2019variable, + author = {Crawford, Lorin and Flaxman, Seth R and Runcie, Daniel E and West, Mike}, + title = {Variable Prioritization in Nonlinear Black Box Methods: {{A}} Genetic Association Case Study}, + number = {2}, + pages = {958}, + volume = {13}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {The annals of applied statistics}, + year = {2019}, +} + +@InProceedings{dai2022counterfactual, + author = {Dai, Xinyue and Keane, Mark T and Shalloo, Laurence and Ruelle, Elodie and Byrne, Ruth MJ}, + title = {Counterfactual Explanations for Prediction and Diagnosis in Xai}, + eventtitle = {Proceedings of the 2022 {{AAAI}}/{{ACM Conference}} on {{AI}}, {{Ethics}}, and {{Society}}}, + pages = {215--226}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + year = {2022}, +} + +@Article{danielsson2021artificial, + author = {Danielsson, Jon and Macrae, Robert and Uthemann, Andreas}, + title = {Artificial Intelligence and Systemic Risk}, + pages = {106290}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {Journal of Banking \& Finance}, + year = {2021}, +} + +@Article{daxberger2021laplace, + author = {Daxberger, Erik and Kristiadi, Agustinus and Immer, Alexander and Eschenhagen, Runa and Bauer, Matthias and Hennig, Philipp}, + title = {Laplace {{Redux-Effortless Bayesian Deep Learning}}}, + volume = {34}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {Advances in Neural Information Processing Systems}, + year = {2021}, +} + +@Article{dehejia1999causal, + author = {Dehejia, Rajeev H and Wahba, Sadek}, + title = {Causal Effects in Nonexperimental Studies: {{Reevaluating}} the Evaluation of Training Programs}, + number = {448}, + pages = {1053--1062}, + volume = {94}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {Journal of the American statistical Association}, + year = {1999}, +} + +@Article{dell2010persistent, + author = {Dell, Melissa}, + title = {The Persistent Effects of {{Peru}}'s Mining Mita}, + number = {6}, + pages = {1863--1903}, + volume = {78}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {Econometrica : journal of the Econometric Society}, + shortjournal = {Econometrica}, + year = {2010}, +} + +@Article{denhengst2020reinforcement, + author = {den Hengst, Floris and Grua, Eoin Martino and el Hassouni, Ali and Hoogendoorn, Mark}, + title = {Reinforcement Learning for Personalization: {{A}} Systematic Literature Review}, + issue = {Preprint}, + pages = {1--41}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {Data Science}, + options = {useprefix=true}, + year = {2020}, +} + +@Article{deoliveira2021framework, + author = {de Oliveira, Raphael Mazzine Barbosa and Martens, David}, + title = {A Framework and Benchmarking Study for Counterfactual Generating Methods on Tabular Data}, + number = {16}, + pages = {7274}, + volume = {11}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {Applied Sciences}, + options = {useprefix=true}, + year = {2021}, +} + +@Article{dhurandhar2018explanations, + author = {Dhurandhar, Amit and Chen, Pin-Yu and Luss, Ronny and Tu, Chun-Chen and Ting, Paishun and Shanmugam, Karthikeyan and Das, Payel}, + title = {Explanations Based on the Missing: {{Towards}} Contrastive Explanations with Pertinent Negatives}, + volume = {31}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {Advances in neural information processing systems}, + year = {2018}, +} + +@InProceedings{dombrowski2021diffeomorphic, + author = {Dombrowski, Ann-Kathrin and Gerken, Jan E and Kessel, Pan}, + booktitle = {{{ICML Workshop}} on {{Invertible Neural Networks}}, {{Normalizing Flows}}, and {{Explicit Likelihood Models}}}, + title = {Diffeomorphic Explanations with Normalizing Flows}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + year = {2021}, +} + +@InProceedings{dorffner1996neural, + author = {Dorffner, Georg}, + booktitle = {Neural Network World}, + title = {Neural Networks for Time Series Processing}, + publisher = {{Citeseer}}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + year = {1996}, +} + +@Article{epstein1979stability, + author = {Epstein, Seymour}, + title = {The Stability of Behavior: {{I}}. {{On}} Predicting Most of the People Much of the Time.}, + number = {7}, + pages = {1097}, + volume = {37}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {Journal of personality and social psychology}, + year = {1979}, +} + +@Online{barocas2022fairness, + author = {Solon Barocas and Moritz Hardt and Arvind Narayanan}, + title = {Fairness and Machine Learning}, + url = {https://fairmlbook.org/index.html}, + urldate = {2022-11-08}, + bdsk-url-1 = {https://fairmlbook.org/index.html}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + month = dec, + year = {2022}, +} + +@Article{falk2006clean, + author = {Falk, Armin and Ichino, Andrea}, + title = {Clean Evidence on Peer Effects}, + number = {1}, + pages = {39--57}, + volume = {24}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {Journal of labor economics}, + year = {2006}, +} + +@Unpublished{fan2020interpretability, + author = {Fan, Fenglei and Xiong, Jinjun and Wang, Ge}, + title = {On Interpretability of Artificial Neural Networks}, + archiveprefix = {arXiv}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + eprint = {2001.02522}, + eprinttype = {arxiv}, + year = {2020}, +} + +@Article{fang2011dynamic, + author = {Fang, Hanming and Gavazza, Alessandro}, + title = {Dynamic Inefficiencies in an Employment-Based Health Insurance System: {{Theory}} and Evidence}, + number = {7}, + pages = {3047--77}, + volume = {101}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {American Economic Review}, + year = {2011}, +} + +@Article{fehr2000cooperation, + author = {Fehr, Ernst and Gachter, Simon}, + title = {Cooperation and Punishment in Public Goods Experiments}, + number = {4}, + pages = {980--994}, + volume = {90}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {American Economic Review}, + year = {2000}, +} + +@Article{fix1951important, + author = {Fix, E and Hodges, J}, + title = {An Important Contribution to Nonparametric Discriminant Analysis and Density Estimation}, + number = {57}, + pages = {233--238}, + volume = {3}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {International Statistical Review}, + year = {1951}, +} + +@Book{friedman2008monetary, + author = {Friedman, Milton and Schwartz, Anna Jacobson}, + title = {A Monetary History of the {{United States}}, 1867-1960}, + publisher = {{Princeton University Press}}, + volume = {14}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + year = {2008}, +} + +@InProceedings{gal2016dropout, + author = {Gal, Yarin and Ghahramani, Zoubin}, + booktitle = {International Conference on Machine Learning}, + title = {Dropout as a Bayesian Approximation: {{Representing}} Model Uncertainty in Deep Learning}, + pages = {1050--1059}, + publisher = {{PMLR}}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + year = {2016}, +} + +@InProceedings{gal2017deep, + author = {Gal, Yarin and Islam, Riashat and Ghahramani, Zoubin}, + booktitle = {International {{Conference}} on {{Machine Learning}}}, + title = {Deep Bayesian Active Learning with Image Data}, + pages = {1183--1192}, + publisher = {{PMLR}}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + year = {2017}, +} + +@Article{galizzi2019external, + author = {Galizzi, Matteo M and Navarro-Martinez, Daniel}, + title = {On the External Validity of Social Preference Games: A Systematic Lab-Field Study}, + number = {3}, + pages = {976--1002}, + volume = {65}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {Management Science}, + year = {2019}, +} + +@Article{gama2014survey, + author = {Gama, Jo{\~a}o and {\v Z}liobait{\.e}, Indr{\.e} and Bifet, Albert and Pechenizkiy, Mykola and Bouchachia, Abdelhamid}, + title = {A Survey on Concept Drift Adaptation}, + number = {4}, + pages = {1--37}, + volume = {46}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {ACM computing surveys (CSUR)}, + year = {2014}, +} + +@Unpublished{garivier2008upperconfidence, + author = {Garivier, Aur{\'e}lien and Moulines, Eric}, + title = {On Upper-Confidence Bound Policies for Non-Stationary Bandit Problems}, + archiveprefix = {arXiv}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + eprint = {0805.3415}, + eprinttype = {arxiv}, + year = {2008}, +} + +@Book{gelman2013bayesian, + author = {Gelman, Andrew and Carlin, John B and Stern, Hal S and Dunson, David B and Vehtari, Aki and Rubin, Donald B}, + title = {Bayesian Data Analysis}, + publisher = {{CRC press}}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + year = {2013}, +} + +@Article{gilbert1998immune, + author = {Gilbert, Daniel T and Pinel, Elizabeth C and Wilson, Timothy D and Blumberg, Stephen J and Wheatley, Thalia P}, + title = {Immune Neglect: A Source of Durability Bias in Affective Forecasting.}, + number = {3}, + pages = {617}, + volume = {75}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {Journal of personality and social psychology}, + year = {1998}, +} + +@Article{gneezy2006uncertainty, + author = {Gneezy, Uri and List, John A and Wu, George}, + title = {The Uncertainty Effect: {{When}} a Risky Prospect Is Valued Less than Its Worst Possible Outcome}, + number = {4}, + pages = {1283--1309}, + volume = {121}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {The Quarterly Journal of Economics}, + year = {2006}, +} + +@InCollection{goan2020bayesian, + author = {Goan, Ethan and Fookes, Clinton}, + booktitle = {Case {{Studies}} in {{Applied Bayesian Data Science}}}, + title = {Bayesian {{Neural Networks}}: {{An Introduction}} and {{Survey}}}, + pages = {45--87}, + publisher = {{Springer}}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + year = {2020}, +} + +@Article{goldsmith-pinkham2013social, + author = {Goldsmith-Pinkham, Paul and Imbens, Guido W}, + title = {Social Networks and the Identification of Peer Effects}, + number = {3}, + pages = {253--264}, + volume = {31}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {Journal of Business \& Economic Statistics}, + year = {2013}, +} + +@Unpublished{goodfellow2014explaining, + author = {Goodfellow, Ian J and Shlens, Jonathon and Szegedy, Christian}, + title = {Explaining and Harnessing Adversarial Examples}, + archiveprefix = {arXiv}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + eprint = {1412.6572}, + eprinttype = {arxiv}, + year = {2014}, +} + +@Book{goodfellow2016deep, + author = {Goodfellow, Ian and Bengio, Yoshua and Courville, Aaron}, + title = {Deep {{Learning}}}, + publisher = {{MIT Press}}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + year = {2016}, +} + +@Article{goodfriend2005incredible, + author = {Goodfriend, Marvin and King, Robert G}, + title = {The Incredible {{Volcker}} Disinflation}, + number = {5}, + pages = {981--1015}, + volume = {52}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {Journal of Monetary Economics}, + year = {2005}, +} + +@Article{graham2017econometric, + author = {Graham, Bryan S}, + title = {An Econometric Model of Network Formation with Degree Heterogeneity}, + number = {4}, + pages = {1033--1063}, + volume = {85}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {Econometrica : journal of the Econometric Society}, + shortjournal = {Econometrica}, + year = {2017}, +} + +@Article{greene2012econometric, + author = {Greene, William H}, + title = {Econometric Analysis, 71e}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {Stern School of Business, New York University}, + year = {2012}, +} + +@Article{grether1979economic, + author = {Grether, David M and Plott, Charles R}, + title = {Economic Theory of Choice and the Preference Reversal Phenomenon}, + number = {4}, + pages = {623--638}, + volume = {69}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {The American Economic Review}, + year = {1979}, +} + +@Article{gretton2012kernel, + author = {Gretton, Arthur and Borgwardt, Karsten M and Rasch, Malte J and Sch{\"o}lkopf, Bernhard and Smola, Alexander}, + title = {A Kernel Two-Sample Test}, + number = {1}, + pages = {723--773}, + volume = {13}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {The Journal of Machine Learning Research}, + year = {2012}, +} + +@Unpublished{griffith2020name, + author = {Griffith, Alan}, + title = {Name {{Your Friends}}, but {{Only Five}}? {{The Importance}} of {{Censoring}} in {{Peer Effects Estimates}} Using {{Social Network Data}}}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + year = {2020}, +} + +@Unpublished{grinsztajn2022why, + author = {Grinsztajn, L{\'e}o and Oyallon, Edouard and Varoquaux, Ga{\"e}l}, + title = {Why Do Tree-Based Models Still Outperform Deep Learning on Tabular Data?}, + archiveprefix = {arXiv}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + eprint = {2207.08815}, + eprinttype = {arxiv}, + year = {2022}, +} + +@Misc{group2020detailed, + author = {Group, Open COVID-19 Data Working}, + title = {Detailed {{Epidemiological Data}} from the {{COVID-19 Outbreak}}}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + year = {2020}, +} + +@InProceedings{gupta2011thompson, + author = {Gupta, Neha and Granmo, Ole-Christoffer and Agrawala, Ashok}, + booktitle = {2011 10th {{International Conference}} on {{Machine Learning}} and {{Applications}} and {{Workshops}}}, + title = {Thompson Sampling for Dynamic Multi-Armed Bandits}, + pages = {484--489}, + publisher = {{IEEE}}, + volume = {1}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + year = {2011}, +} + +@Book{hamilton2020time, + author = {Hamilton, James Douglas}, + title = {Time Series Analysis}, + publisher = {{Princeton university press}}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + year = {2020}, +} + +@Article{hamon2020robustness, + author = {Hamon, Ronan and Junklewitz, Henrik and Sanchez, Ignacio}, + title = {Robustness and Explainability of Artificial Intelligence}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {Publications Office of the European Union}, + year = {2020}, +} + +@Article{hamzacebi2008improving, + author = {Hamza{\c c}ebi, Co{\c s}kun}, + title = {Improving Artificial Neural Networks' Performance in Seasonal Time Series Forecasting}, + number = {23}, + pages = {4550--4559}, + volume = {178}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {Information Sciences}, + year = {2008}, +} + +@InProceedings{hanneke2007bound, + author = {Hanneke, Steve}, + booktitle = {Proceedings of the 24th International Conference on {{Machine}} Learning}, + title = {A Bound on the Label Complexity of Agnostic Active Learning}, + pages = {353--360}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + year = {2007}, +} + +@Article{hansen2020virtue, + author = {Hansen, Kristian Bondo}, + title = {The Virtue of Simplicity: {{On}} Machine Learning Models in Algorithmic Trading}, + number = {1}, + pages = {2053951720926558}, + volume = {7}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {Big Data \& Society}, + year = {2020}, +} + +@Article{hartland2006multiarmed, + author = {Hartland, C{\'e}dric and Gelly, Sylvain and Baskiotis, Nicolas and Teytaud, Olivier and Sebag, Michele}, + title = {Multi-Armed Bandit, Dynamic Environments and Meta-Bandits}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + year = {2006}, +} + +@Article{heckman1985alternative, + author = {Heckman, James J and Robb Jr, Richard}, + title = {Alternative Methods for Evaluating the Impact of Interventions: {{An}} Overview}, + number = {1-2}, + pages = {239--267}, + volume = {30}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {Journal of econometrics}, + year = {1985}, +} + +@Article{hershfield2011increasing, + author = {Hershfield, Hal E and Goldstein, Daniel G and Sharpe, William F and Fox, Jesse and Yeykelis, Leo and Carstensen, Laura L and Bailenson, Jeremy N}, + title = {Increasing Saving Behavior through Age-Progressed Renderings of the Future Self}, + issue = {SPL}, + pages = {S23--S37}, + volume = {48}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {Journal of Marketing Research}, + year = {2011}, +} + +@InProceedings{ho1995random, + author = {Ho, Tin Kam}, + booktitle = {Proceedings of 3rd International Conference on Document Analysis and Recognition}, + title = {Random Decision Forests}, + pages = {278--282}, + publisher = {{IEEE}}, + volume = {1}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + year = {1995}, +} + +@Article{hochreiter1997long, + author = {Hochreiter, Sepp and Schmidhuber, J{\"u}rgen}, + title = {Long Short-Term Memory}, + number = {8}, + pages = {1735--1780}, + volume = {9}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {Neural computation}, + year = {1997}, +} + +@Unpublished{hoff2021bayesoptimal, + author = {Hoff, Peter}, + title = {Bayes-Optimal Prediction with Frequentist Coverage Control}, + archiveprefix = {arXiv}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + eprint = {2105.14045}, + eprinttype = {arxiv}, + file = {:/Users/FA31DU/Zotero/storage/IQK27WVA/Hoff - 2021 - Bayes-optimal prediction with frequentist coverage.pdf:;:/Users/FA31DU/Zotero/storage/K8EAZA25/2105.html:}, + year = {2021}, +} + +@Misc{hoffman1994german, + author = {Hoffman, Hans}, + title = {German {{Credit Data}}}, + url = {https://archive.ics.uci.edu/ml/datasets/statlog+(german+credit+data)}, + bdsk-url-1 = {https://archive.ics.uci.edu/ml/datasets/statlog+(german+credit+data)}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + year = {1994}, +} + +@Online{hoffmanGermanCreditData1994, + author = {Hoffman, Hans}, + title = {German {{Credit Data}}}, + url = {https://archive.ics.uci.edu/ml/datasets/statlog+(german+credit+data)}, + bdsk-url-1 = {https://archive.ics.uci.edu/ml/datasets/statlog+(german+credit+data)}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + year = {1994}, +} + +@Unpublished{houlsby2011bayesian, + author = {Houlsby, Neil and Husz{\'a}r, Ferenc and Ghahramani, Zoubin and Lengyel, M{\'a}t{\'e}}, + title = {Bayesian Active Learning for Classification and Preference Learning}, + archiveprefix = {arXiv}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + eprint = {1112.5745}, + eprinttype = {arxiv}, + year = {2011}, +} + +@Article{hsee1996evaluability, + author = {Hsee, Christopher K}, + title = {The Evaluability Hypothesis: {{An}} Explanation for Preference Reversals between Joint and Separate Evaluations of Alternatives}, + number = {3}, + pages = {247--257}, + volume = {67}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {Organizational behavior and human decision processes}, + year = {1996}, +} + +@Article{hsee2004music, + author = {Hsee, Christopher K and Rottenstreich, Yuval}, + title = {Music, Pandas, and Muggers: On the Affective Psychology of Value.}, + number = {1}, + pages = {23}, + volume = {133}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {Journal of Experimental Psychology: General}, + year = {2004}, +} + +@Article{hsieh2016social, + author = {Hsieh, Chih-Sheng and Lee, Lung Fei}, + title = {A Social Interactions Model with Endogenous Friendship Formation and Selectivity}, + number = {2}, + pages = {301--319}, + volume = {31}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {Journal of Applied Econometrics}, + year = {2016}, +} + +@Unpublished{immer2020improving, + author = {Immer, Alexander and Korzepa, Maciej and Bauer, Matthias}, + title = {Improving Predictions of Bayesian Neural Networks via Local Linearization}, + archiveprefix = {arXiv}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + eprint = {2008.08400}, + eprinttype = {arxiv}, + year = {2020}, +} + +@Unpublished{innes2018fashionable, + author = {Innes, Michael and Saba, Elliot and Fischer, Keno and Gandhi, Dhairya and Rudilosso, Marco Concetto and Joy, Neethu Mariya and Karmali, Tejan and Pal, Avik and Shah, Viral}, + title = {Fashionable Modelling with Flux}, + archiveprefix = {arXiv}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + eprint = {1811.01457}, + eprinttype = {arxiv}, + year = {2018}, +} + +@Article{innes2018flux, + author = {Innes, Mike}, + title = {Flux: {{Elegant}} Machine Learning with {{Julia}}}, + number = {25}, + pages = {602}, + volume = {3}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {Journal of Open Source Software}, + year = {2018}, +} + +@Unpublished{ish-horowicz2019interpreting, + author = {Ish-Horowicz, Jonathan and Udwin, Dana and Flaxman, Seth and Filippi, Sarah and Crawford, Lorin}, + title = {Interpreting Deep Neural Networks through Variable Importance}, + archiveprefix = {arXiv}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + eprint = {1901.09839}, + eprinttype = {arxiv}, + year = {2019}, +} + +@InProceedings{jabbari2017fairness, + author = {Jabbari, Shahin and Joseph, Matthew and Kearns, Michael and Morgenstern, Jamie and Roth, Aaron}, + booktitle = {International {{Conference}} on {{Machine Learning}}}, + title = {Fairness in Reinforcement Learning}, + pages = {1617--1626}, + publisher = {{PMLR}}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + year = {2017}, +} + +@Article{jackson2007meeting, + author = {Jackson, Matthew O and Rogers, Brian W}, + title = {Meeting Strangers and Friends of Friends: {{How}} Random Are Social Networks?}, + number = {3}, + pages = {890--915}, + volume = {97}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {American Economic Review}, + year = {2007}, +} + +@Unpublished{jeanneret2022diffusion, + author = {Jeanneret, Guillaume and Simon, Lo{\"\i}c and Jurie, Fr{\'e}d{\'e}ric}, + title = {Diffusion {{Models}} for {{Counterfactual Explanations}}}, + archiveprefix = {arXiv}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + eprint = {2203.15636}, + eprinttype = {arxiv}, + year = {2022}, +} + +@Article{johansson2005failure, + author = {Johansson, Petter and Hall, Lars and Sikstr{\"o}m, Sverker and Olsson, Andreas}, + title = {Failure to Detect Mismatches between Intention and Outcome in a Simple Decision Task}, + number = {5745}, + pages = {116--119}, + volume = {310}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {Science (New York, N.Y.)}, + shortjournal = {Science}, + year = {2005}, +} + +@Article{johnsson2021estimation, + author = {Johnsson, Ida and Moon, Hyungsik Roger}, + title = {Estimation of Peer Effects in Endogenous Social Networks: {{Control}} Function Approach}, + number = {2}, + pages = {328--345}, + volume = {103}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {Review of Economics and Statistics}, + year = {2021}, +} + +@Article{jolliffe2003modified, + author = {Jolliffe, Ian T and Trendafilov, Nickolay T and Uddin, Mudassir}, + title = {A Modified Principal Component Technique Based on the {{LASSO}}}, + number = {3}, + pages = {531--547}, + volume = {12}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {Journal of computational and Graphical Statistics}, + year = {2003}, +} + +@Article{joseph2021forecasting, + author = {Joseph, Andreas and Kalamara, Eleni and Kapetanios, George and Potjagailo, Galina}, + title = {Forecasting Uk Inflation Bottom Up}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + year = {2021}, +} + +@Unpublished{joshi2019realistic, + author = {Joshi, Shalmali and Koyejo, Oluwasanmi and Vijitbenjaronk, Warut and Kim, Been and Ghosh, Joydeep}, + title = {Towards Realistic Individual Recourse and Actionable Explanations in Black-Box Decision Making Systems}, + archiveprefix = {arXiv}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + eprint = {1907.09615}, + eprinttype = {arxiv}, + year = {2019}, +} + +@Unpublished{jospin2020handson, + author = {Jospin, Laurent Valentin and Buntine, Wray and Boussaid, Farid and Laga, Hamid and Bennamoun, Mohammed}, + title = {Hands-on {{Bayesian Neural Networks}}--a {{Tutorial}} for {{Deep Learning Users}}}, + archiveprefix = {arXiv}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + eprint = {2007.06823}, + eprinttype = {arxiv}, + year = {2020}, +} + +@Misc{kaggle2011give, + author = {Kaggle}, + title = {Give Me Some Credit, {{Improve}} on the State of the Art in Credit Scoring by Predicting the Probability That Somebody Will Experience Financial Distress in the next Two Years.}, + url = {https://www.kaggle.com/c/GiveMeSomeCredit}, + bdsk-url-1 = {https://www.kaggle.com/c/GiveMeSomeCredit}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + publisher = {{Kaggle}}, + year = {2011}, +} + +@online{kagglecompetitionGiveMeCredit, + author = {Kaggle Competition}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + title = {Give Me Some Credit, {{Improve}} on the State of the Art in Credit Scoring by Predicting the Probability That Somebody Will Experience Financial Distress in the next Two Years.}, + url = {https://www.kaggle.com/c/GiveMeSomeCredit}, + bdsk-url-1 = {https://www.kaggle.com/c/GiveMeSomeCredit}} + +@Article{kahneman1979prospect, + author = {Kahneman, Daniel and Tversky, Amos}, + title = {Prospect {{Theory}}: {{An Analysis}} of {{Decision}} under {{Risk}}}, + pages = {263--291}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {Econometrica: Journal of the Econometric Society}, + year = {1979}, +} + +@Article{kahneman1990experimental, + author = {Kahneman, Daniel and Knetsch, Jack L and Thaler, Richard H}, + title = {Experimental Tests of the Endowment Effect and the {{Coase}} Theorem}, + number = {6}, + pages = {1325--1348}, + volume = {98}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {Journal of political Economy}, + year = {1990}, +} + +@Article{kahneman1992reference, + author = {Kahneman, Daniel}, + title = {Reference Points, Anchors, Norms, and Mixed Feelings}, + number = {2}, + pages = {296--312}, + volume = {51}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {Organizational behavior and human decision processes}, + year = {1992}, +} + +@Unpublished{karimi2020algorithmic, + author = {Karimi, Amir-Hossein and Von K{\"u}gelgen, Julius and Sch{\"o}lkopf, Bernhard and Valera, Isabel}, + title = {Algorithmic Recourse under Imperfect Causal Knowledge: A Probabilistic Approach}, + archiveprefix = {arXiv}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + eprint = {2006.06831}, + eprinttype = {arxiv}, + year = {2020}, +} + +@Unpublished{karimi2020survey, + author = {Karimi, Amir-Hossein and Barthe, Gilles and Sch{\"o}lkopf, Bernhard and Valera, Isabel}, + title = {A Survey of Algorithmic Recourse: Definitions, Formulations, Solutions, and Prospects}, + archiveprefix = {arXiv}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + eprint = {2010.04050}, + eprinttype = {arxiv}, + year = {2020}, +} + +@InProceedings{karimi2021algorithmic, + author = {Karimi, Amir-Hossein and Sch{\"o}lkopf, Bernhard and Valera, Isabel}, + booktitle = {Proceedings of the 2021 {{ACM Conference}} on {{Fairness}}, {{Accountability}}, and {{Transparency}}}, + title = {Algorithmic Recourse: From Counterfactual Explanations to Interventions}, + pages = {353--362}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + year = {2021}, +} + +@InProceedings{kaur2020interpreting, + author = {Kaur, Harmanpreet and Nori, Harsha and Jenkins, Samuel and Caruana, Rich and Wallach, Hanna and Wortman Vaughan, Jennifer}, + booktitle = {Proceedings of the 2020 {{CHI}} Conference on Human Factors in Computing Systems}, + title = {Interpreting Interpretability: Understanding Data Scientists' Use of Interpretability Tools for Machine Learning}, + pages = {1--14}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + year = {2020}, +} + +@Article{kehoe2021defence, + author = {Kehoe, Aidan and Wittek, Peter and Xue, Yanbo and Pozas-Kerstjens, Alejandro}, + title = {Defence against Adversarial Attacks Using Classical and Quantum-Enhanced {{Boltzmann}} Machines}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {Machine Learning: Science and Technology}, + year = {2021}, +} + +@Unpublished{kendall2017what, + author = {Kendall, Alex and Gal, Yarin}, + title = {What Uncertainties Do We Need in Bayesian Deep Learning for Computer Vision?}, + archiveprefix = {arXiv}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + eprint = {1703.04977}, + eprinttype = {arxiv}, + year = {2017}, +} + +@Article{kihoro2004seasonal, + author = {Kihoro, J and Otieno, RO and Wafula, C}, + title = {Seasonal Time Series Forecasting: {{A}} Comparative Study of {{ARIMA}} and {{ANN}} Models}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + year = {2004}, +} + +@Book{kilian2017structural, + author = {Kilian, Lutz and L{\"u}tkepohl, Helmut}, + title = {Structural Vector Autoregressive Analysis}, + publisher = {{Cambridge University Press}}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + year = {2017}, +} + +@Unpublished{kingma2014adam, + author = {Kingma, Diederik P and Ba, Jimmy}, + title = {Adam: {{A}} Method for Stochastic Optimization}, + archiveprefix = {arXiv}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + eprint = {1412.6980}, + eprinttype = {arxiv}, + year = {2014}, +} + +@Article{kirsch2019batchbald, + author = {Kirsch, Andreas and Van Amersfoort, Joost and Gal, Yarin}, + title = {Batchbald: {{Efficient}} and Diverse Batch Acquisition for Deep Bayesian Active Learning}, + pages = {7026--7037}, + volume = {32}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {Advances in neural information processing systems}, + year = {2019}, +} + +@Unpublished{kuiper2021exploring, + author = {Kuiper, Ouren and van den Berg, Martin and van den Burgt, Joost and Leijnen, Stefan}, + title = {Exploring {{Explainable AI}} in the {{Financial Sector}}: {{Perspectives}} of {{Banks}} and {{Supervisory Authorities}}}, + archiveprefix = {arXiv}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + eprint = {2111.02244}, + eprinttype = {arxiv}, + year = {2021}, +} + +@Article{kydland1982time, + author = {Kydland, Finn E and Prescott, Edward C}, + title = {Time to Build and Aggregate Fluctuations}, + pages = {1345--1370}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {Econometrica: Journal of the Econometric Society}, + year = {1982}, +} + +@Unpublished{lachapelle2019gradientbased, + author = {Lachapelle, S{\'e}bastien and Brouillard, Philippe and Deleu, Tristan and Lacoste-Julien, Simon}, + title = {Gradient-Based Neural Dag Learning}, + archiveprefix = {arXiv}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + eprint = {1906.02226}, + eprinttype = {arxiv}, + year = {2019}, +} + +@InProceedings{lakkaraju2020how, + author = {Lakkaraju, Himabindu and Bastani, Osbert}, + booktitle = {Proceedings of the {{AAAI}}/{{ACM Conference}} on {{AI}}, {{Ethics}}, and {{Society}}}, + title = {" {{How}} Do {{I}} Fool You?" {{Manipulating User Trust}} via {{Misleading Black Box Explanations}}}, + pages = {79--85}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + year = {2020}, +} + +@InProceedings{lakkaraju2020how, + author = {Lakkaraju, Himabindu and Bastani, Osbert}, + booktitle = {Proceedings of the {{AAAI}}/{{ACM Conference}} on {{AI}}, {{Ethics}}, and {{Society}}}, + title = {" {{How Do I Fool You}}?" {{Manipulating User Trust}} via {{Misleading Black Box Explanations}}}, + pages = {79--85}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + year = {2020}, +} + +@Unpublished{lakshminarayanan2016simple, + author = {Lakshminarayanan, Balaji and Pritzel, Alexander and Blundell, Charles}, + title = {Simple and Scalable Predictive Uncertainty Estimation Using Deep Ensembles}, + archiveprefix = {arXiv}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + eprint = {1612.01474}, + eprinttype = {arxiv}, + year = {2016}, +} + +@Unpublished{laugel2017inverse, + author = {Laugel, Thibault and Lesot, Marie-Jeanne and Marsala, Christophe and Renard, Xavier and Detyniecki, Marcin}, + title = {Inverse Classification for Comparison-Based Interpretability in Machine Learning}, + archiveprefix = {arXiv}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + eprint = {1712.08443}, + eprinttype = {arxiv}, + shortjournal = {arXiv preprint arXiv:1712.08443}, + year = {2017}, +} + +@Thesis{lawrence2001variational, + author = {Lawrence, Neil David}, + title = {Variational Inference in Probabilistic Models}, + type = {phdthesis}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + school = {{University of Cambridge}}, + year = {2001}, +} + +@Article{lecun1998mnist, + author = {LeCun, Yann}, + title = {The {{MNIST}} Database of Handwritten Digits}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + shortjournal = {http://yann. lecun. com/exdb/mnist/}, + year = {1998}, +} + +@Article{lee2003best, + author = {Lee, Lung-fei}, + title = {Best Spatial Two-Stage Least Squares Estimators for a Spatial Autoregressive Model with Autoregressive Disturbances}, + number = {4}, + pages = {307--335}, + volume = {22}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {Econometric Reviews}, + year = {2003}, +} + +@Article{lerner2013financial, + author = {Lerner, Jennifer S and Li, Ye and Weber, Elke U}, + title = {The Financial Costs of Sadness}, + number = {1}, + pages = {72--79}, + volume = {24}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {Psychological science}, + year = {2013}, +} + +@Article{list2004neoclassical, + author = {List, John A}, + title = {Neoclassical Theory versus Prospect Theory: {{Evidence}} from the Marketplace}, + number = {2}, + pages = {615--625}, + volume = {72}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {Econometrica : journal of the Econometric Society}, + shortjournal = {Econometrica}, + year = {2004}, +} + +@Article{lucas1976econometric, + author = {Lucas, JR}, + title = {Econometric Policy Evaluation: A Critique `, in {{K}}. {{Brunner}} and {{A Meltzer}}, {{The Phillips}} Curve and Labor Markets, {{North Holland}}}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + year = {1976}, +} + +@InProceedings{lundberg2017unified, + author = {Lundberg, Scott M and Lee, Su-In}, + booktitle = {Proceedings of the 31st International Conference on Neural Information Processing Systems}, + title = {A Unified Approach to Interpreting Model Predictions}, + pages = {4768--4777}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + year = {2017}, +} + +@Book{lutkepohl2005new, + author = {L{\"u}tkepohl, Helmut}, + title = {New Introduction to Multiple Time Series Analysis}, + publisher = {{Springer Science \& Business Media}}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + year = {2005}, +} + +@Article{madrian2001power, + author = {Madrian, Brigitte C and Shea, Dennis F}, + title = {The Power of Suggestion: {{Inertia}} in 401 (k) Participation and Savings Behavior}, + number = {4}, + pages = {1149--1187}, + volume = {116}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {The Quarterly journal of economics}, + year = {2001}, +} + +@Book{manning2008introduction, + author = {Manning, Christopher D and Sch{\"u}tze, Hinrich and Raghavan, Prabhakar}, + title = {Introduction to Information Retrieval}, + publisher = {{Cambridge university press}}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + year = {2008}, +} + +@misc{manokhin2022awesome, + author = {Manokhin, Valery}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + title = {Awesome Conformal Prediction}} + +@Article{manski1993identification, + author = {Manski, Charles F}, + title = {Identification of Endogenous Social Effects: {{The}} Reflection Problem}, + number = {3}, + pages = {531--542}, + volume = {60}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {The review of economic studies}, + year = {1993}, +} + +@Article{markle2018goals, + author = {Markle, Alex and Wu, George and White, Rebecca and Sackett, Aaron}, + title = {Goals as Reference Points in Marathon Running: {{A}} Novel Test of Reference Dependence}, + number = {1}, + pages = {19--50}, + volume = {56}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {Journal of Risk and Uncertainty}, + year = {2018}, +} + +@Article{masini2021machine, + author = {Masini, Ricardo P and Medeiros, Marcelo C and Mendes, Eduardo F}, + title = {Machine Learning Advances for Time Series Forecasting}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {Journal of Economic Surveys}, + year = {2021}, +} + +@Article{mccracken2016fredmd, + author = {McCracken, Michael W and Ng, Serena}, + title = {{{FRED-MD}}: {{A}} Monthly Database for Macroeconomic Research}, + number = {4}, + pages = {574--589}, + volume = {34}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {Journal of Business \& Economic Statistics}, + year = {2016}, +} + +@Article{mcculloch1990logical, + author = {McCulloch, Warren S and Pitts, Walter}, + title = {A Logical Calculus of the Ideas Immanent in Nervous Activity}, + number = {1}, + pages = {99--115}, + volume = {52}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {Bulletin of mathematical biology}, + year = {1990}, +} + +@Article{migut2015visualizing, + author = {Migut, MA and Worring, Marcel and Veenman, Cor J}, + title = {Visualizing Multi-Dimensional Decision Boundaries in {{2D}}}, + number = {1}, + pages = {273--295}, + volume = {29}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {Data Mining and Knowledge Discovery}, + year = {2015}, +} + +@Article{miller2019explanation, + author = {Miller, Tim}, + title = {Explanation in Artificial Intelligence: {{Insights}} from the Social Sciences}, + pages = {1--38}, + volume = {267}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {Artificial intelligence}, + year = {2019}, +} + +@InProceedings{miller2020strategic, + author = {Miller, John and Milli, Smitha and Hardt, Moritz}, + booktitle = {Proceedings of the 37th {{International Conference}} on {{Machine Learning}}}, + title = {Strategic {{Classification}} Is {{Causal Modeling}} in {{Disguise}}}, + eventtitle = {International {{Conference}} on {{Machine Learning}}}, + pages = {6917--6926}, + publisher = {{PMLR}}, + url = {https://proceedings.mlr.press/v119/miller20b.html}, + urldate = {2022-11-03}, + abstract = {Consequential decision-making incentivizes individuals to strategically adapt their behavior to the specifics of the decision rule. While a long line of work has viewed strategic adaptation as gaming and attempted to mitigate its effects, recent work has instead sought to design classifiers that incentivize individuals to improve a desired quality. Key to both accounts is a cost function that dictates which adaptations are rational to undertake. In this work, we develop a causal framework for strategic adaptation. Our causal perspective clearly distinguishes between gaming and improvement and reveals an important obstacle to incentive design. We prove any procedure for designing classifiers that incentivize improvement must inevitably solve a non-trivial causal inference problem. We show a similar result holds for designing cost functions that satisfy the requirements of previous work. With the benefit of hindsight, our results show much of the prior work on strategic classification is causal modeling in disguise.}, + bdsk-url-1 = {https://proceedings.mlr.press/v119/miller20b.html}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + file = {:/Users/FA31DU/Zotero/storage/46I2QMPI/Miller et al. - 2020 - Strategic Classification is Causal Modeling in Dis.pdf:;:/Users/FA31DU/Zotero/storage/NWREET6B/Miller et al. - 2020 - Strategic Classification is Causal Modeling in Dis.pdf:}, + issn = {2640-3498}, + langid = {english}, + month = nov, + year = {2020}, +} + +@Article{mischel1988nature, + author = {Mischel, Walter and Shoda, Yuichi and Peake, Philip K}, + title = {The Nature of Adolescent Competencies Predicted by Preschool Delay of Gratification.}, + number = {4}, + pages = {687}, + volume = {54}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {Journal of personality and social psychology}, + year = {1988}, +} + +@InProceedings{mittelstadt2019explaining, + author = {Mittelstadt, Brent and Russell, Chris and Wachter, Sandra}, + booktitle = {Proceedings of the Conference on Fairness, Accountability, and Transparency}, + title = {Explaining Explanations in {{AI}}}, + pages = {279--288}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + year = {2019}, +} + +@Book{molnar2020interpretable, + author = {Molnar, Christoph}, + title = {Interpretable Machine Learning}, + publisher = {{Lulu. com}}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + year = {2020}, +} + +@Book{morgan2015counterfactuals, + author = {Morgan, Stephen L and Winship, Christopher}, + title = {Counterfactuals and Causal Inference}, + publisher = {{Cambridge University Press}}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + year = {2015}, +} + +@Article{mosteller1951experimental, + author = {Mosteller, Frederick and Nogee, Philip}, + title = {An Experimental Measurement of Utility}, + number = {5}, + pages = {371--404}, + volume = {59}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {Journal of Political Economy}, + year = {1951}, +} + +@InProceedings{mothilal2020explaining, + author = {Mothilal, Ramaravind K and Sharma, Amit and Tan, Chenhao}, + booktitle = {Proceedings of the 2020 {{Conference}} on {{Fairness}}, {{Accountability}}, and {{Transparency}}}, + title = {Explaining Machine Learning Classifiers through Diverse Counterfactual Explanations}, + pages = {607--617}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + year = {2020}, +} + +@Book{murphy2012machine, + author = {Murphy, Kevin P}, + title = {Machine Learning: A Probabilistic Perspective}, + publisher = {{MIT press}}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + year = {2012}, +} + +@Book{murphy2012machine, + author = {Murphy, Kevin P}, + title = {Machine Learning: {{A}} Probabilistic Perspective}, + publisher = {{MIT press}}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + year = {2012}, +} + +@Book{murphy2022probabilistic, + author = {Murphy, Kevin P}, + title = {Probabilistic {{Machine Learning}}: {{An}} Introduction}, + publisher = {{MIT Press}}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + year = {2022}, +} + +@Article{nagel1995unraveling, + author = {Nagel, Rosemarie}, + title = {Unraveling in Guessing Games: {{An}} Experimental Study}, + number = {5}, + pages = {1313--1326}, + volume = {85}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {The American Economic Review}, + year = {1995}, +} + +@Unpublished{navarro-martinez2021bridging, + author = {Navarro-Martinez, Daniel and Wang, Xinghua}, + title = {Bridging the Gap between the Lab and the Field: {{Dictator}} Games and Donations}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + year = {2021}, +} + +@InProceedings{nelson2015evaluating, + author = {Nelson, Kevin and Corbin, George and Anania, Mark and Kovacs, Matthew and Tobias, Jeremy and Blowers, Misty}, + booktitle = {2015 {{IEEE Symposium}} on {{Computational Intelligence}} for {{Security}} and {{Defense Applications}} ({{CISDA}})}, + title = {Evaluating Model Drift in Machine Learning Algorithms}, + pages = {1--8}, + publisher = {{IEEE}}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + year = {2015}, +} + +@Book{nocedal2006numerical, + author = {Nocedal, Jorge and Wright, Stephen}, + title = {Numerical Optimization}, + publisher = {{Springer Science \& Business Media}}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + year = {2006}, +} + +@Misc{oecd2021artificial, + author = {{OECD}}, + title = {Artificial {{Intelligence}}, {{Machine Learning}} and {{Big Data}} in {{Finance}}: {{Opportunities}}, {{Challenges}} and {{Implications}} for {{Policy Makers}}}, + url = {https://www.oecd.org/finance/financial-markets/Artificial-intelligence-machine-learning-big-data-in-finance.pdf}, + bdsk-url-1 = {https://www.oecd.org/finance/financial-markets/Artificial-intelligence-machine-learning-big-data-in-finance.pdf}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + year = {2021}, +} + +@Online{oecdArtificialIntelligenceMachine2021, + author = {{OECD}}, + title = {Artificial {{Intelligence}}, {{Machine Learning}} and {{Big Data}} in {{Finance}}: {{Opportunities}}, {{Challenges}} and {{Implications}} for {{Policy Makers}}}, + url = {https://www.oecd.org/finance/financial-markets/Artificial-intelligence-machine-learning-big-data-in-finance.pdf}, + bdsk-url-1 = {https://www.oecd.org/finance/financial-markets/Artificial-intelligence-machine-learning-big-data-in-finance.pdf}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + publisher = {{OECD}}, + year = {2021}, +} + +@Book{oneil2016weapons, + author = {O'Neil, Cathy}, + title = {Weapons of Math Destruction: {{How}} Big Data Increases Inequality and Threatens Democracy}, + publisher = {{Crown}}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + year = {2016}, +} + +@Article{pace1997sparse, + author = {Pace, R Kelley and Barry, Ronald}, + title = {Sparse Spatial Autoregressions}, + number = {3}, + pages = {291--297}, + volume = {33}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {Statistics \& Probability Letters}, + year = {1997}, +} + +@Unpublished{parr2018matrix, + author = {Parr, Terence and Howard, Jeremy}, + title = {The Matrix Calculus You Need for Deep Learning}, + archiveprefix = {arXiv}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + eprint = {1802.01528}, + eprinttype = {arxiv}, + year = {2018}, +} + +@Unpublished{pawelczyk2021carla, + author = {Pawelczyk, Martin and Bielawski, Sascha and van den Heuvel, Johannes and Richter, Tobias and Kasneci, Gjergji}, + title = {Carla: A Python Library to Benchmark Algorithmic Recourse and Counterfactual Explanation Algorithms}, + archiveprefix = {arXiv}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + eprint = {2108.00783}, + eprinttype = {arxiv}, + year = {2021}, +} + +@Book{pearl2018book, + author = {Pearl, Judea and Mackenzie, Dana}, + title = {The Book of Why: The New Science of Cause and Effect}, + publisher = {{Basic books}}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + year = {2018}, +} + +@Article{pearl2019seven, + author = {Pearl, Judea}, + title = {The Seven Tools of Causal Inference, with Reflections on Machine Learning}, + number = {3}, + pages = {54--60}, + volume = {62}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {Communications of the ACM}, + year = {2019}, +} + +@Article{pedregosa2011scikitlearn, + author = {Pedregosa, Fabian and Varoquaux, Ga{\"e}l and Gramfort, Alexandre and Michel, Vincent and Thirion, Bertrand and Grisel, Olivier and Blondel, Mathieu and Prettenhofer, Peter and Weiss, Ron and Dubourg, Vincent and others}, + title = {Scikit-Learn: {{Machine}} Learning in {{Python}}}, + pages = {2825--2830}, + volume = {12}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {the Journal of machine Learning research}, + year = {2011}, +} + +@Book{perry2010economic, + author = {Perry, George L and Tobin, James}, + title = {Economic {{Events}}, {{Ideas}}, and {{Policies}}: The 1960s and After}, + publisher = {{Brookings Institution Press}}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + year = {2010}, +} + +@Article{pfaff2008var, + author = {Pfaff, Bernhard and others}, + title = {{{VAR}}, {{SVAR}} and {{SVEC}} Models: {{Implementation}} within {{R}} Package Vars}, + number = {4}, + pages = {1--32}, + volume = {27}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {Journal of Statistical Software}, + year = {2008}, +} + +@Book{pindyck2014microeconomics, + author = {Pindyck, Robert S and Rubinfeld, Daniel L}, + title = {Microeconomics}, + publisher = {{Pearson Education}}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + year = {2014}, +} + +@Article{pope2011numbers, + author = {Pope, Devin and Simonsohn, Uri}, + title = {Round Numbers as Goals: {{Evidence}} from Baseball, {{SAT}} Takers, and the Lab}, + number = {1}, + pages = {71--79}, + volume = {22}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {Psychological science}, + year = {2011}, +} + +@InProceedings{poyiadzi2020face, + author = {Poyiadzi, Rafael and Sokol, Kacper and Santos-Rodriguez, Raul and De Bie, Tijl and Flach, Peter}, + booktitle = {Proceedings of the {{AAAI}}/{{ACM Conference}} on {{AI}}, {{Ethics}}, and {{Society}}}, + title = {{{FACE}}: {{Feasible}} and Actionable Counterfactual Explanations}, + pages = {344--350}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + year = {2020}, +} + +@Article{qu2015estimating, + author = {Qu, Xi and Lee, Lung-fei}, + title = {Estimating a Spatial Autoregressive Model with an Endogenous Spatial Weight Matrix}, + number = {2}, + pages = {209--232}, + volume = {184}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {Journal of Econometrics}, + year = {2015}, +} + +@Article{rabanser2019failing, + author = {Rabanser, Stephan and G{\"u}nnemann, Stephan and Lipton, Zachary}, + title = {Failing Loudly: {{An}} Empirical Study of Methods for Detecting Dataset Shift}, + volume = {32}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {Advances in Neural Information Processing Systems}, + year = {2019}, +} + +@Unpublished{raghunathan2019adversarial, + author = {Raghunathan, Aditi and Xie, Sang Michael and Yang, Fanny and Duchi, John C and Liang, Percy}, + title = {Adversarial Training Can Hurt Generalization}, + archiveprefix = {arXiv}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + eprint = {1906.06032}, + eprinttype = {arxiv}, + year = {2019}, +} + +@Unpublished{raj2017taming, + author = {Raj, Vishnu and Kalyani, Sheetal}, + title = {Taming Non-Stationary Bandits: {{A Bayesian}} Approach}, + archiveprefix = {arXiv}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + eprint = {1707.09727}, + eprinttype = {arxiv}, + year = {2017}, +} + +@InProceedings{rasmussen2003gaussian, + author = {Rasmussen, Carl Edward}, + booktitle = {Summer School on Machine Learning}, + title = {Gaussian Processes in Machine Learning}, + pages = {63--71}, + publisher = {{Springer}}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + year = {2003}, +} + +@InProceedings{ribeiro2016why, + author = {Ribeiro, Marco Tulio and Singh, Sameer and Guestrin, Carlos}, + booktitle = {Proceedings of the 22nd {{ACM SIGKDD}} International Conference on Knowledge Discovery and Data Mining}, + title = {"{{Why}} Should i Trust You?" {{Explaining}} the Predictions of Any Classifier}, + pages = {1135--1144}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + year = {2016}, +} + +@Article{romer1989does, + author = {Romer, Christina D and Romer, David H}, + title = {Does Monetary Policy Matter? {{A}} New Test in the Spirit of {{Friedman}} and {{Schwartz}}}, + pages = {121--170}, + volume = {4}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {NBER macroeconomics annual}, + year = {1989}, +} + +@Article{rudin2019stop, + author = {Rudin, Cynthia}, + title = {Stop Explaining Black Box Machine Learning Models for High Stakes Decisions and Use Interpretable Models Instead}, + number = {5}, + pages = {206--215}, + volume = {1}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {Nature Machine Intelligence}, + year = {2019}, +} + +@Article{sacerdote2001peer, + author = {Sacerdote, Bruce}, + title = {Peer Effects with Random Assignment: {{Results}} for {{Dartmouth}} Roommates}, + number = {2}, + pages = {681--704}, + volume = {116}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {The Quarterly journal of economics}, + year = {2001}, +} + +@Article{sadinle2019least, + author = {Sadinle, Mauricio and Lei, Jing and Wasserman, Larry}, + title = {Least Ambiguous Set-Valued Classifiers with Bounded Error Levels}, + number = {525}, + pages = {223--234}, + volume = {114}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + file = {:/Users/FA31DU/Zotero/storage/YXQ8N76A/Sadinle et al. - 2019 - Least ambiguous set-valued classifiers with bounde.pdf:;:/Users/FA31DU/Zotero/storage/ZHB56F3V/01621459.2017.html:}, + journal = {Journal of the American Statistical Association}, + publisher = {{Taylor \& Francis}}, + year = {2019}, +} + +@InProceedings{satopaa2011finding, + author = {Satopaa, Ville and Albrecht, Jeannie and Irwin, David and Raghavan, Barath}, + booktitle = {2011 31st International Conference on Distributed Computing Systems Workshops}, + title = {Finding a" Kneedle" in a Haystack: {{Detecting}} Knee Points in System Behavior}, + pages = {166--171}, + publisher = {{IEEE}}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + year = {2011}, +} + +@InProceedings{schut2021generating, + author = {Schut, Lisa and Key, Oscar and Mc Grath, Rory and Costabello, Luca and Sacaleanu, Bogdan and Gal, Yarin and others}, + booktitle = {International {{Conference}} on {{Artificial Intelligence}} and {{Statistics}}}, + title = {Generating {{Interpretable Counterfactual Explanations By Implicit Minimisation}} of {{Epistemic}} and {{Aleatoric Uncertainties}}}, + pages = {1756--1764}, + publisher = {{PMLR}}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + year = {2021}, +} + +@Book{schutze2008introduction, + author = {Sch{\"u}tze, Hinrich and Manning, Christopher D and Raghavan, Prabhakar}, + title = {Introduction to Information Retrieval}, + publisher = {{Cambridge University Press Cambridge}}, + volume = {39}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + year = {2008}, +} + +@Article{shafir1993reasonbased, + author = {Shafir, Eldar and Simonson, Itamar and Tversky, Amos}, + title = {Reason-Based Choice}, + number = {1-2}, + pages = {11--36}, + volume = {49}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {Cognition}, + year = {1993}, +} + +@Article{simonson1989choice, + author = {Simonson, Itamar}, + title = {Choice Based on Reasons: {{The}} Case of Attraction and Compromise Effects}, + number = {2}, + pages = {158--174}, + volume = {16}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {Journal of consumer research}, + year = {1989}, +} + +@Article{sims1986are, + author = {Sims, Christopher A and others}, + title = {Are Forecasting Models Usable for Policy Analysis?}, + issue = {Win}, + pages = {2--16}, + volume = {10}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {Quarterly Review}, + year = {1986}, +} + +@InProceedings{slack2020fooling, + author = {Slack, Dylan and Hilgard, Sophie and Jia, Emily and Singh, Sameer and Lakkaraju, Himabindu}, + booktitle = {Proceedings of the {{AAAI}}/{{ACM Conference}} on {{AI}}, {{Ethics}}, and {{Society}}}, + title = {Fooling Lime and Shap: {{Adversarial}} Attacks on Post Hoc Explanation Methods}, + pages = {180--186}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + year = {2020}, +} + +@Article{slack2021counterfactual, + author = {Slack, Dylan and Hilgard, Anna and Lakkaraju, Himabindu and Singh, Sameer}, + title = {Counterfactual Explanations Can Be Manipulated}, + volume = {34}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {Advances in Neural Information Processing Systems}, + year = {2021}, +} + +@Article{slovic1974who, + author = {Slovic, Paul and Tversky, Amos}, + title = {Who Accepts {{Savage}}'s Axiom?}, + number = {6}, + pages = {368--373}, + volume = {19}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {Behavioral science}, + year = {1974}, +} + +@Unpublished{spooner2021counterfactual, + author = {Spooner, Thomas and Dervovic, Danial and Long, Jason and Shepard, Jon and Chen, Jiahao and Magazzeni, Daniele}, + title = {Counterfactual {{Explanations}} for {{Arbitrary Regression Models}}}, + archiveprefix = {arXiv}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + eprint = {2106.15212}, + eprinttype = {arxiv}, + shortjournal = {arXiv preprint arXiv:2106.15212}, + year = {2021}, +} + +@Article{srivastava2014dropout, + author = {Srivastava, Nitish and Hinton, Geoffrey and Krizhevsky, Alex and Sutskever, Ilya and Salakhutdinov, Ruslan}, + title = {Dropout: A Simple Way to Prevent Neural Networks from Overfitting}, + number = {1}, + pages = {1929--1958}, + volume = {15}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {The journal of machine learning research}, + year = {2014}, +} + +@Unpublished{stanton2022bayesian, + author = {Stanton, Samuel and Maddox, Wesley and Wilson, Andrew Gordon}, + title = {Bayesian {{Optimization}} with {{Conformal Coverage Guarantees}}}, + archiveprefix = {arXiv}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + eprint = {2210.12496}, + eprinttype = {arxiv}, + file = {:/Users/FA31DU/Zotero/storage/XFGZAB9J/Stanton et al. - 2022 - Bayesian Optimization with Conformal Coverage Guar.pdf:;:/Users/FA31DU/Zotero/storage/RPWYDPVW/2210.html:}, + year = {2022}, +} + +@Article{sturm2014simple, + author = {Sturm, Bob L}, + title = {A Simple Method to Determine If a Music Information Retrieval System Is a ``Horse''}, + number = {6}, + pages = {1636--1644}, + volume = {16}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {IEEE Transactions on Multimedia}, + year = {2014}, +} + +@Article{sunstein2003libertarian, + author = {Sunstein, Cass R and Thaler, Richard H}, + title = {Libertarian Paternalism Is Not an Oxymoron}, + pages = {1159--1202}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {The University of Chicago Law Review}, + year = {2003}, +} + +@Book{sutton2018reinforcement, + author = {Sutton, Richard S and Barto, Andrew G}, + title = {Reinforcement Learning: {{An}} Introduction}, + publisher = {{MIT press}}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + year = {2018}, +} + +@Unpublished{szegedy2013intriguing, + author = {Szegedy, Christian and Zaremba, Wojciech and Sutskever, Ilya and Bruna, Joan and Erhan, Dumitru and Goodfellow, Ian and Fergus, Rob}, + title = {Intriguing Properties of Neural Networks}, + archiveprefix = {arXiv}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + eprint = {1312.6199}, + eprinttype = {arxiv}, + year = {2013}, +} + +@Article{thaler1981empirical, + author = {Thaler, Richard}, + title = {Some Empirical Evidence on Dynamic Inconsistency}, + number = {3}, + pages = {201--207}, + volume = {8}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {Economics letters}, + year = {1981}, +} + +@Article{thaler2004more, + author = {Thaler, Richard H and Benartzi, Shlomo}, + title = {Save More Tomorrow{\texttrademark}: {{Using}} Behavioral Economics to Increase Employee Saving}, + number = {S1}, + pages = {S164--S187}, + volume = {112}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {Journal of political Economy}, + year = {2004}, +} + +@Article{tversky1981framing, + author = {Tversky, Amos and Kahneman, Daniel}, + title = {The Framing of Decisions and the Psychology of Choice}, + number = {4481}, + pages = {453--458}, + volume = {211}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {Science (New York, N.Y.)}, + shortjournal = {science}, + year = {1981}, +} + +@Article{ungemach2011how, + author = {Ungemach, Christoph and Stewart, Neil and Reimers, Stian}, + title = {How Incidental Values from the Environment Affect Decisions about Money, Risk, and Delay}, + number = {2}, + pages = {253--260}, + volume = {22}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {Psychological Science}, + year = {2011}, +} + +@Unpublished{upadhyay2021robust, + author = {Upadhyay, Sohini and Joshi, Shalmali and Lakkaraju, Himabindu}, + title = {Towards {{Robust}} and {{Reliable Algorithmic Recourse}}}, + archiveprefix = {arXiv}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + eprint = {2102.13620}, + eprinttype = {arxiv}, + year = {2021}, +} + +@InProceedings{ustun2019actionable, + author = {Ustun, Berk and Spangher, Alexander and Liu, Yang}, + booktitle = {Proceedings of the {{Conference}} on {{Fairness}}, {{Accountability}}, and {{Transparency}}}, + title = {Actionable Recourse in Linear Classification}, + pages = {10--19}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + year = {2019}, +} + +@Article{vanboven2000egocentric, + author = {Van Boven, Leaf and Dunning, David and Loewenstein, George}, + title = {Egocentric Empathy Gaps between Owners and Buyers: Misperceptions of the Endowment Effect.}, + number = {1}, + pages = {66}, + volume = {79}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {Journal of personality and social psychology}, + year = {2000}, +} + +@Book{varshney2022trustworthy, + author = {Varshney, Kush R.}, + title = {Trustworthy {{Machine Learning}}}, + publisher = {{Independently Published}}, + address = {{Chappaqua, NY, USA}}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + year = {2022}, +} + +@Unpublished{verma2020counterfactual, + author = {Verma, Sahil and Dickerson, John and Hines, Keegan}, + title = {Counterfactual Explanations for Machine Learning: {{A}} Review}, + archiveprefix = {arXiv}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + eprint = {2010.10596}, + eprinttype = {arxiv}, + year = {2020}, +} + +@Article{verstyuk2020modeling, + author = {Verstyuk, Sergiy}, + title = {Modeling Multivariate Time Series in Economics: {{From}} Auto-Regressions to Recurrent Neural Networks}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {Available at SSRN 3589337}, + year = {2020}, +} + +@Article{wachter2017counterfactual, + author = {Wachter, Sandra and Mittelstadt, Brent and Russell, Chris}, + title = {Counterfactual Explanations without Opening the Black Box: {{Automated}} Decisions and the {{GDPR}}}, + pages = {841}, + volume = {31}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {Harv. JL \& Tech.}, + year = {2017}, +} + +@Article{wang2018optimal, + author = {Wang, HaiYing and Zhu, Rong and Ma, Ping}, + title = {Optimal Subsampling for Large Sample Logistic Regression}, + number = {522}, + pages = {829--844}, + volume = {113}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {Journal of the American Statistical Association}, + year = {2018}, +} + +@Book{wasserman2006all, + author = {Wasserman, Larry}, + title = {All of Nonparametric Statistics}, + publisher = {{Springer Science \& Business Media}}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + year = {2006}, +} + +@Book{wasserman2013all, + author = {Wasserman, Larry}, + title = {All of Statistics: A Concise Course in Statistical Inference}, + publisher = {{Springer Science \& Business Media}}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + year = {2013}, +} + +@Article{widmer1996learning, + author = {Widmer, Gerhard and Kubat, Miroslav}, + title = {Learning in the Presence of Concept Drift and Hidden Contexts}, + number = {1}, + pages = {69--101}, + volume = {23}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {Machine learning}, + year = {1996}, +} + +@Unpublished{wilson2020case, + author = {Wilson, Andrew Gordon}, + title = {The Case for {{Bayesian}} Deep Learning}, + archiveprefix = {arXiv}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + eprint = {2001.10995}, + eprinttype = {arxiv}, + year = {2020}, +} + +@Article{witten2009penalized, + author = {Witten, Daniela M and Tibshirani, Robert and Hastie, Trevor}, + title = {A Penalized Matrix Decomposition, with Applications to Sparse Principal Components and Canonical Correlation Analysis}, + number = {3}, + pages = {515--534}, + volume = {10}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {Biostatistics (Oxford, England)}, + shortjournal = {Biostatistics}, + year = {2009}, +} + +@Article{xu2020epidemiological, + author = {Xu, Bo and Gutierrez, Bernardo and Mekaru, Sumiko and Sewalk, Kara and Goodwin, Lauren and Loskill, Alyssa and Cohn, Emily and Hswen, Yulin and Hill, Sarah C. and Cobo, Maria M and Zarebski, Alexander and Li, Sabrina and Wu, Chieh-Hsi and Hulland, Erin and Morgan, Julia and Wang, Lin and O'Brien, Katelynn and Scarpino, Samuel V. and Brownstein, John S. and Pybus, Oliver G. and Pigott, David M. and Kraemer, Moritz U. G.}, + title = {Epidemiological Data from the {{COVID-19}} Outbreak, Real-Time Case Information}, + doi = {doi.org/10.1038/s41597-020-0448-0}, + number = {106}, + volume = {7}, + bdsk-url-1 = {https://doi.org/10.1038/s41597-020-0448-0}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {Scientific Data}, + year = {2020}, +} + +@Article{yeh2009comparisons, + author = {Yeh, I-Cheng and Lien, Che-hui}, + title = {The Comparisons of Data Mining Techniques for the Predictive Accuracy of Probability of Default of Credit Card Clients}, + number = {2}, + pages = {2473--2480}, + volume = {36}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {Expert systems with applications}, + year = {2009}, +} + +@Article{zhang1998forecasting, + author = {Zhang, Guoqiang and Patuwo, B Eddy and Hu, Michael Y}, + title = {Forecasting with Artificial Neural Networks:: {{The}} State of the Art}, + number = {1}, + pages = {35--62}, + volume = {14}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {International journal of forecasting}, + year = {1998}, +} + +@Article{zhang2003time, + author = {Zhang, G Peter}, + title = {Time Series Forecasting Using a Hybrid {{ARIMA}} and Neural Network Model}, + pages = {159--175}, + volume = {50}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {Neurocomputing}, + year = {2003}, +} + +@Unpublished{zheng2018dags, + author = {Zheng, Xun and Aragam, Bryon and Ravikumar, Pradeep and Xing, Eric P}, + title = {Dags with No Tears: {{Continuous}} Optimization for Structure Learning}, + archiveprefix = {arXiv}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + eprint = {1803.01422}, + eprinttype = {arxiv}, + year = {2018}, +} + +@Article{zhu2015optimal, + author = {Zhu, Rong and Ma, Ping and Mahoney, Michael W and Yu, Bin}, + title = {Optimal Subsampling Approaches for Large Sample Linear Regression}, + pages = {arXiv--1509}, + date-added = {2022-12-13 12:58:01 +0100}, + date-modified = {2022-12-13 12:58:01 +0100}, + journal = {arXiv}, + year = {2015}, +} + +@Article{barber2021predictive, + author = {Barber, Rina Foygel and Candès, Emmanuel J. and Ramdas, Aaditya and Tibshirani, Ryan J.}, + title = {Predictive inference with the jackknife+}, + doi = {10.1214/20-AOS1965}, + issn = {0090-5364, 2168-8966}, + number = {1}, + pages = {486--507}, + urldate = {2022-12-13}, + volume = {49}, + abstract = {This paper introduces the jackknife+, which is a novel method for constructing predictive confidence intervals. Whereas the jackknife outputs an interval centered at the predicted response of a test point, with the width of the interval determined by the quantiles of leave-one-out residuals, the jackknife+ also uses the leave-one-out predictions at the test point to account for the variability in the fitted regression function. Assuming exchangeable training samples, we prove that this crucial modification permits rigorous coverage guarantees regardless of the distribution of the data points, for any algorithm that treats the training points symmetrically. Such guarantees are not possible for the original jackknife and we demonstrate examples where the coverage rate may actually vanish. Our theoretical and empirical analysis reveals that the jackknife and the jackknife+ intervals achieve nearly exact coverage and have similar lengths whenever the fitting algorithm obeys some form of stability. Further, we extend the jackknife+ to \$K\$-fold cross validation and similarly establish rigorous coverage properties. Our methods are related to cross-conformal prediction proposed by Vovk (Ann. Math. Artif. Intell. 74 (2015) 9–28) and we discuss connections.}, + file = {:Barber2021 - Predictive Inference with the Jackknife+.pdf:PDF}, + journal = {The Annals of Statistics}, + keywords = {62F40, 62G08, 62G09, conformal inference, cross-validation, distribution-free, jackknife, leave-one-out, stability}, + month = feb, + publisher = {Institute of Mathematical Statistics}, + year = {2021}, +} + +@TechReport{chouldechova2018frontiers, + author = {Chouldechova, Alexandra and Roth, Aaron}, + title = {The {Frontiers} of {Fairness} in {Machine} {Learning}}, + doi = {10.48550/arXiv.1810.08810}, + eprint = {1810.08810}, + note = {arXiv:1810.08810 [cs, stat] type: article}, + abstract = {The last few years have seen an explosion of academic and popular interest in algorithmic fairness. Despite this interest and the volume and velocity of work that has been produced recently, the fundamental science of fairness in machine learning is still in a nascent state. In March 2018, we convened a group of experts as part of a CCC visioning workshop to assess the state of the field, and distill the most promising research directions going forward. This report summarizes the findings of that workshop. Along the way, it surveys recent theoretical work in the field and points towards promising directions for research.}, + archiveprefix = {arxiv}, + file = {:chouldechova2018frontiers - The Frontiers of Fairness in Machine Learning.pdf:PDF}, + keywords = {Computer Science - Machine Learning, Computer Science - Data Structures and Algorithms, Computer Science - Computer Science and Game Theory, Statistics - Machine Learning}, + month = oct, + school = {arXiv}, + year = {2018}, +} + +@Article{pawelczyk2022probabilistically, + author = {Pawelczyk, Martin and Datta, Teresa and van-den-Heuvel, Johannes and Kasneci, Gjergji and Lakkaraju, Himabindu}, + title = {Probabilistically {Robust} {Recourse}: {Navigating} the {Trade}-offs between {Costs} and {Robustness} in {Algorithmic} {Recourse}}, + file = {:pawelczyk2022probabilistically - Probabilistically Robust Recourse_ Navigating the Trade Offs between Costs and Robustness in Algorithmic Recourse.pdf:PDF}, + journal = {arXiv preprint arXiv:2203.06768}, + shorttitle = {Probabilistically {Robust} {Recourse}}, + year = {2022}, +} + +@InProceedings{stutz2022learning, + author = {Stutz, David and Dvijotham, Krishnamurthy Dj and Cemgil, Ali Taylan and Doucet, Arnaud}, + title = {Learning {Optimal} {Conformal} {Classifiers}}, + language = {en}, + url = {https://openreview.net/forum?id=t8O-4LKFVx}, + urldate = {2023-02-13}, + abstract = {Modern deep learning based classifiers show very high accuracy on test data but this does not provide sufficient guarantees for safe deployment, especially in high-stake AI applications such as medical diagnosis. Usually, predictions are obtained without a reliable uncertainty estimate or a formal guarantee. Conformal prediction (CP) addresses these issues by using the classifier's predictions, e.g., its probability estimates, to predict confidence sets containing the true class with a user-specified probability. However, using CP as a separate processing step after training prevents the underlying model from adapting to the prediction of confidence sets. Thus, this paper explores strategies to differentiate through CP during training with the goal of training model with the conformal wrapper end-to-end. In our approach, conformal training (ConfTr), we specifically "simulate" conformalization on mini-batches during training. Compared to standard training, ConfTr reduces the average confidence set size (inefficiency) of state-of-the-art CP methods applied after training. Moreover, it allows to "shape" the confidence sets predicted at test time, which is difficult for standard CP. On experiments with several datasets, we show ConfTr can influence how inefficiency is distributed across classes, or guide the composition of confidence sets in terms of the included classes, while retaining the guarantees offered by CP.}, + file = {:stutz2022learning - Learning Optimal Conformal Classifiers.pdf:PDF}, + month = may, + year = {2022}, +} + +@InProceedings{grathwohl2020your, + author = {Grathwohl, Will and Wang, Kuan-Chieh and Jacobsen, Joern-Henrik and Duvenaud, David and Norouzi, Mohammad and Swersky, Kevin}, + title = {Your classifier is secretly an energy based model and you should treat it like one}, + language = {en}, + url = {https://openreview.net/forum?id=Hkxzx0NtDB}, + urldate = {2023-02-13}, + abstract = {We propose to reinterpret a standard discriminative classifier of p(y{\textbar}x) as an energy based model for the joint distribution p(x, y). In this setting, the standard class probabilities can be easily computed as well as unnormalized values of p(x) and p(x{\textbar}y). Within this framework, standard discriminative architectures may be used and the model can also be trained on unlabeled data. We demonstrate that energy based training of the joint distribution improves calibration, robustness, and out-of-distribution detection while also enabling our models to generate samples rivaling the quality of recent GAN approaches. We improve upon recently proposed techniques for scaling up the training of energy based models and present an approach which adds little overhead compared to standard classification training. Our approach is the first to achieve performance rivaling the state-of-the-art in both generative and discriminative learning within one hybrid model.}, + file = {:grathwohl2020your - Your Classifier Is Secretly an Energy Based Model and You Should Treat It like One.pdf:PDF}, + month = mar, + year = {2020}, +} + +@Book{murphy2023probabilistic, + author = {Murphy, Kevin P.}, + date = {2023}, + title = {Probabilistic machine learning: {Advanced} topics}, + publisher = {MIT Press}, + shorttitle = {Probabilistic machine learning}, +} + +@TechReport{artelt2021evaluating, + author = {Artelt, André and Vaquet, Valerie and Velioglu, Riza and Hinder, Fabian and Brinkrolf, Johannes and Schilling, Malte and Hammer, Barbara}, + date = {2021-07}, + institution = {arXiv}, + title = {Evaluating {Robustness} of {Counterfactual} {Explanations}}, + note = {arXiv:2103.02354 [cs] type: article}, + url = {http://arxiv.org/abs/2103.02354}, + urldate = {2023-03-24}, + abstract = {Transparency is a fundamental requirement for decision making systems when these should be deployed in the real world. It is usually achieved by providing explanations of the system's behavior. A prominent and intuitive type of explanations are counterfactual explanations. Counterfactual explanations explain a behavior to the user by proposing actions -- as changes to the input -- that would cause a different (specified) behavior of the system. However, such explanation methods can be unstable with respect to small changes to the input -- i.e. even a small change in the input can lead to huge or arbitrary changes in the output and of the explanation. This could be problematic for counterfactual explanations, as two similar individuals might get very different explanations. Even worse, if the recommended actions differ considerably in their complexity, one would consider such unstable (counterfactual) explanations as individually unfair. In this work, we formally and empirically study the robustness of counterfactual explanations in general, as well as under different models and different kinds of perturbations. Furthermore, we propose that plausible counterfactual explanations can be used instead of closest counterfactual explanations to improve the robustness and consequently the individual fairness of counterfactual explanations.}, + annotation = {Comment: Rewrite paper to make things more clear; Remove one theorem \& corollary due to buggy proof}, + file = {:artelt2021evaluating - Evaluating Robustness of Counterfactual Explanations.pdf:PDF}, + keywords = {Computer Science - Machine Learning, Computer Science - Artificial Intelligence}, +} + +@Article{guidotti2022counterfactual, + author = {Guidotti, Riccardo}, + date = {2022-04}, + journaltitle = {Data Mining and Knowledge Discovery}, + title = {Counterfactual explanations and how to find them: literature review and benchmarking}, + doi = {10.1007/s10618-022-00831-6}, + issn = {1573-756X}, + language = {en}, + url = {https://doi.org/10.1007/s10618-022-00831-6}, + urldate = {2023-03-24}, + abstract = {Interpretable machine learning aims at unveiling the reasons behind predictions returned by uninterpretable classifiers. One of the most valuable types of explanation consists of counterfactuals. A counterfactual explanation reveals what should have been different in an instance to observe a diverse outcome. For instance, a bank customer asks for a loan that is rejected. The counterfactual explanation consists of what should have been different for the customer in order to have the loan accepted. Recently, there has been an explosion of proposals for counterfactual explainers. The aim of this work is to survey the most recent explainers returning counterfactual explanations. We categorize explainers based on the approach adopted to return the counterfactuals, and we label them according to characteristics of the method and properties of the counterfactuals returned. In addition, we visually compare the explanations, and we report quantitative benchmarking assessing minimality, actionability, stability, diversity, discriminative power, and running time. The results make evident that the current state of the art does not provide a counterfactual explainer able to guarantee all these properties simultaneously.}, + file = {Full Text PDF:https\://link.springer.com/content/pdf/10.1007%2Fs10618-022-00831-6.pdf:application/pdf}, + keywords = {Explainable AI, Counterfactual explanations, Contrastive explanations, Interpretable machine learning}, + shorttitle = {Counterfactual explanations and how to find them}, +} + +@TechReport{mahajan2020preserving, + author = {Mahajan, Divyat and Tan, Chenhao and Sharma, Amit}, + date = {2020-06}, + institution = {arXiv}, + title = {Preserving {Causal} {Constraints} in {Counterfactual} {Explanations} for {Machine} {Learning} {Classifiers}}, + doi = {10.48550/arXiv.1912.03277}, + note = {arXiv:1912.03277 [cs, stat] type: article}, + url = {http://arxiv.org/abs/1912.03277}, + urldate = {2023-03-24}, + abstract = {To construct interpretable explanations that are consistent with the original ML model, counterfactual examples---showing how the model's output changes with small perturbations to the input---have been proposed. This paper extends the work in counterfactual explanations by addressing the challenge of feasibility of such examples. For explanations of ML models in critical domains such as healthcare and finance, counterfactual examples are useful for an end-user only to the extent that perturbation of feature inputs is feasible in the real world. We formulate the problem of feasibility as preserving causal relationships among input features and present a method that uses (partial) structural causal models to generate actionable counterfactuals. When feasibility constraints cannot be easily expressed, we consider an alternative mechanism where people can label generated CF examples on feasibility: whether it is feasible to intervene and realize the candidate CF example from the original input. To learn from this labelled feasibility data, we propose a modified variational auto encoder loss for generating CF examples that optimizes for feasibility as people interact with its output. Our experiments on Bayesian networks and the widely used ''Adult-Income'' dataset show that our proposed methods can generate counterfactual explanations that better satisfy feasibility constraints than existing methods.. Code repository can be accessed here: {\textbackslash}textit\{https://github.com/divyat09/cf-feasibility\}}, + annotation = {Comment: 2019 NeurIPS Workshop on Do the right thing: Machine learning and Causal Inference for improved decision making}, + file = {:mahajan2020preserving - Preserving Causal Constraints in Counterfactual Explanations for Machine Learning Classifiers.pdf:PDF}, + keywords = {Computer Science - Machine Learning, Computer Science - Artificial Intelligence, Statistics - Machine Learning}, +} + +@TechReport{antoran2023sampling, + author = {Antorán, Javier and Padhy, Shreyas and Barbano, Riccardo and Nalisnick, Eric and Janz, David and Hernández-Lobato, José Miguel}, + date = {2023-03}, + institution = {arXiv}, + title = {Sampling-based inference for large linear models, with application to linearised {Laplace}}, + note = {arXiv:2210.04994 [cs, stat] type: article}, + url = {http://arxiv.org/abs/2210.04994}, + urldate = {2023-03-25}, + abstract = {Large-scale linear models are ubiquitous throughout machine learning, with contemporary application as surrogate models for neural network uncertainty quantification; that is, the linearised Laplace method. Alas, the computational cost associated with Bayesian linear models constrains this method's application to small networks, small output spaces and small datasets. We address this limitation by introducing a scalable sample-based Bayesian inference method for conjugate Gaussian multi-output linear models, together with a matching method for hyperparameter (regularisation) selection. Furthermore, we use a classic feature normalisation method (the g-prior) to resolve a previously highlighted pathology of the linearised Laplace method. Together, these contributions allow us to perform linearised neural network inference with ResNet-18 on CIFAR100 (11M parameters, 100 outputs x 50k datapoints), with ResNet-50 on Imagenet (50M parameters, 1000 outputs x 1.2M datapoints) and with a U-Net on a high-resolution tomographic reconstruction task (2M parameters, 251k output{\textasciitilde}dimensions).}, + annotation = {Comment: Published at ICLR 2023. This latest Arxiv version is extended with a demonstration of the proposed methods on the Imagenet dataset}, + file = {arXiv Fulltext PDF:https\://arxiv.org/pdf/2210.04994.pdf:application/pdf}, + keywords = {Statistics - Machine Learning, Computer Science - Artificial Intelligence, Computer Science - Machine Learning}, +} + +@Misc{altmeyer2022conformal, + author = {Altmeyer, Patrick}, + date = {2022-10}, + title = {{Conformal} {Prediction} in {Julia}}, + language = {en}, + url = {https://www.paltmeyer.com/blog/posts/conformal-prediction/}, + urldate = {2023-03-27}, + abstract = {A (very) gentle introduction to Conformal Prediction in Julia using my new package ConformalPrediction.jl.}, +} + +@InProceedings{welling2011bayesian, + author = {Welling, M. and Teh, Y.}, + date = {2011-06}, + title = {Bayesian {Learning} via {Stochastic} {Gradient} {Langevin} {Dynamics}}, + url = {https://www.semanticscholar.org/paper/Bayesian-Learning-via-Stochastic-Gradient-Langevin-Welling-Teh/aeed631d6a84100b5e9a021ec1914095c66de415}, + urldate = {2023-05-15}, + abstract = {In this paper we propose a new framework for learning from large scale datasets based on iterative learning from small mini-batches. By adding the right amount of noise to a standard stochastic gradient optimization algorithm we show that the iterates will converge to samples from the true posterior distribution as we anneal the stepsize. This seamless transition between optimization and Bayesian posterior sampling provides an inbuilt protection against overfitting. We also propose a practical method for Monte Carlo estimates of posterior statistics which monitors a "sampling threshold" and collects samples after it has been surpassed. We apply the method to three models: a mixture of Gaussians, logistic regression and ICA with natural gradients.}, + annotation = {[TLDR] This paper proposes a new framework for learning from large scale datasets based on iterative learning from small mini-batches by adding the right amount of noise to a standard stochastic gradient optimization algorithm and shows that the iterates will converge to samples from the true posterior distribution as the authors anneal the stepsize.}, + file = {:welling_bayesian_2011 - Bayesian Learning Via Stochastic Gradient Langevin Dynamics.html:URL;:welling2011bayesian - Bayesian Learning Via Stochastic Gradient Langevin Dynamics.pdf:PDF}, +} + +@Article{gill2010circular, + author = {Gill, Jeff and Hangartner, Dominik}, + date = {2010}, + journaltitle = {Political Analysis}, + title = {Circular {Data} in {Political} {Science} and {How} to {Handle} {It}}, + doi = {10.1093/pan/mpq009}, + issn = {1047-1987, 1476-4989}, + language = {en}, + number = {3}, + pages = {316--336}, + url = {https://www.cambridge.org/core/journals/political-analysis/article/circular-data-in-political-science-and-how-to-handle-it/6DF2D9DA60C455E6A48FFB0FF011F747}, + urldate = {2023-05-15}, + volume = {18}, + abstract = {There has been no attention to circular (purely cyclical) data in political science research. We show that such data exist and are mishandled by models that do not take into account the inherently recycling nature of some phenomenon. Clock and calendar effects are the obvious cases, but directional data are observed as well. We describe a standard maximum likelihood regression modeling framework based on the von Mises distribution, then develop a general Bayesian regression procedure for the first time, providing an easy-to-use Metropolis-Hastings sampler for this approach. Applications include a chronographic analysis of U.S. domestic terrorism and directional party preferences in a two-dimensional ideological space for German Bundestag elections. The results demonstrate the importance of circular models to handle periodic and directional data in political science.}, + file = {Full Text PDF:https\://www.cambridge.org/core/services/aop-cambridge-core/content/view/6DF2D9DA60C455E6A48FFB0FF011F747/S1047198700012493a.pdf/div-class-title-circular-data-in-political-science-and-how-to-handle-it-div.pdf:application/pdf}, + publisher = {Cambridge University Press}, +} + +@InProceedings{liu2023goggle, + author = {Liu, Tennison and Qian, Zhaozhi and Berrevoets, Jeroen and Schaar, Mihaela van der}, + date = {2023-02}, + title = {{GOGGLE}: {Generative} {Modelling} for {Tabular} {Data} by {Learning} {Relational} {Structure}}, + language = {en}, + url = {https://openreview.net/forum?id=fPVRcJqspu}, + urldate = {2023-05-15}, + abstract = {Deep generative models learn highly complex and non-linear representations to generate realistic synthetic data. While they have achieved notable success in computer vision and natural language processing, similar advances have been less demonstrable in the tabular domain. This is partially because generative modelling of tabular data entails a particular set of challenges, including heterogeneous relationships, limited number of samples, and difficulties in incorporating prior knowledge. Additionally, unlike their counterparts in image and sequence domain, deep generative models for tabular data almost exclusively employ fully-connected layers, which encode weak inductive biases about relationships between inputs. Real-world data generating processes can often be represented using relational structures, which encode sparse, heterogeneous relationships between variables. In this work, we learn and exploit relational structure underlying tabular data to better model variable dependence, and as a natural means to introduce regularization on relationships and include prior knowledge. Specifically, we introduce GOGGLE, an end-to-end message passing scheme that jointly learns the relational structure and corresponding functional relationships as the basis of generating synthetic samples. Using real-world datasets, we provide empirical evidence that the proposed method is effective in generating realistic synthetic data and exploiting domain knowledge for downstream tasks.}, + file = {Full Text PDF:https\://openreview.net/pdf?id=fPVRcJqspu:application/pdf}, + shorttitle = {{GOGGLE}}, +} + +@TechReport{du2020implicit, + author = {Du, Yilun and Mordatch, Igor}, + date = {2020-06}, + institution = {arXiv}, + title = {Implicit {Generation} and {Generalization} in {Energy}-{Based} {Models}}, + doi = {10.48550/arXiv.1903.08689}, + note = {arXiv:1903.08689 [cs, stat] type: article}, + url = {http://arxiv.org/abs/1903.08689}, + urldate = {2023-05-16}, + abstract = {Energy based models (EBMs) are appealing due to their generality and simplicity in likelihood modeling, but have been traditionally difficult to train. We present techniques to scale MCMC based EBM training on continuous neural networks, and we show its success on the high-dimensional data domains of ImageNet32x32, ImageNet128x128, CIFAR-10, and robotic hand trajectories, achieving better samples than other likelihood models and nearing the performance of contemporary GAN approaches, while covering all modes of the data. We highlight some unique capabilities of implicit generation such as compositionality and corrupt image reconstruction and inpainting. Finally, we show that EBMs are useful models across a wide variety of tasks, achieving state-of-the-art out-of-distribution classification, adversarially robust classification, state-of-the-art continual online class learning, and coherent long term predicted trajectory rollouts.}, + file = {arXiv Fulltext PDF:https\://arxiv.org/pdf/1903.08689.pdf:application/pdf}, + keywords = {Computer Science - Machine Learning, Computer Science - Computer Vision and Pattern Recognition, Statistics - Machine Learning}, +} + +@Comment{jabref-meta: databaseType:biblatex;} diff --git a/dev/artifacts.jl b/dev/artifacts.jl index c2df810a..99ffb7f7 100644 --- a/dev/artifacts.jl +++ b/dev/artifacts.jl @@ -9,12 +9,16 @@ artifact_toml = LazyArtifacts.find_artifacts_toml(".") function generate_artifacts( datafiles; - artifact_name=nothing, + artifact_name="artifacts-$VERSION", root=".", artifact_toml=joinpath(root, "Artifacts.toml"), deploy=true, - tag="artifacts-$(Int(VERSION.major)).$(Int(VERSION.minor))", + tag=nothing, ) + if isnothing(tag) + tag = replace(lowercase(artifact_name), " " => "-") + end + if deploy && !haskey(ENV, "GITHUB_TOKEN") @warn "For automatic github deployment, need GITHUB_TOKEN. Not found in ENV, attemptimg global git config." end @@ -72,15 +76,6 @@ function generate_artifacts( end end -function create_artifact_name_from_path( - datafiles::String, artifact_name::Union{Nothing,String} -) - # Name for hash/artifact: - artifact_name = - isnothing(artifact_name) ? replace(datafiles, ("/" => "-")) : artifact_name - return artifact_name -end - function get_git_remote_url(repo_path::String=".") repo = LibGit2.GitRepo(repo_path) origin = LibGit2.get(LibGit2.GitRemote, repo, "origin") diff --git a/docs/index.html b/docs/index.html index d57810dc..e7353ea4 100644 --- a/docs/index.html +++ b/docs/index.html @@ -6,7 +6,7 @@ - + Conformal Counterfactual Explanations @@ -148,7 +148,7 @@

Conformal Counterfactual Explanations

Author
-

Patrick Altmeyer

+

Anonymous Author

diff --git a/experiments/circles.jl b/experiments/circles.jl new file mode 100644 index 00000000..c8f9e6fd --- /dev/null +++ b/experiments/circles.jl @@ -0,0 +1,14 @@ +n_obs = Int(1000 / (1.0 - test_size)) +counterfactual_data, test_data = train_test_split(load_circles(n_obs; noise=0.05, factor=0.5); test_size=test_size) +run_experiment( + counterfactual_data, test_data; dataname="Circles", + n_hidden=32, + α=[1.0, 1.0, 1e-2], + sampling_batch_size=nothing, + sampling_steps=20, + λ₁=0.25, + λ₂ = 0.75, + λ₃ = 0.75, + opt=Flux.Optimise.Descent(0.01), + use_class_loss = false, +) \ No newline at end of file diff --git a/experiments/gmsc.jl b/experiments/gmsc.jl new file mode 100644 index 00000000..58d6b85b --- /dev/null +++ b/experiments/gmsc.jl @@ -0,0 +1,21 @@ +counterfactual_data, test_data = train_test_split(load_gmsc(nothing); test_size=test_size) +run_experiment( + counterfactual_data, test_data; dataname="GMSC", + n_hidden=128, + activation = Flux.swish, + builder = MLJFlux.@builder Flux.Chain( + Dense(n_in, n_hidden, activation), + Dense(n_hidden, n_hidden, activation), + Dense(n_hidden, n_out), + ), + α=[1.0, 1.0, 1e-1], + sampling_batch_size=nothing, + sampling_steps = 30, + use_ensembling = true, + λ₁ = 0.1, + λ₂ = 0.5, + λ₃ = 0.5, + opt = Flux.Optimise.Descent(0.05), + use_class_loss=false, + use_variants=false, +) \ No newline at end of file diff --git a/experiments/linearly_separable.jl b/experiments/linearly_separable.jl new file mode 100644 index 00000000..29a554b2 --- /dev/null +++ b/experiments/linearly_separable.jl @@ -0,0 +1,6 @@ +n_obs = Int(1000 / (1.0 - test_size)) +counterfactual_data, test_data = train_test_split( + load_blobs(n_obs; cluster_std=0.1, center_box=(-1.0 => 1.0)); + test_size=test_size +) +run_experiment(counterfactual_data, test_data; dataname="Linearly Separable") \ No newline at end of file diff --git a/experiments/mnist.jl b/experiments/mnist.jl new file mode 100644 index 00000000..b1847303 --- /dev/null +++ b/experiments/mnist.jl @@ -0,0 +1,52 @@ +function pre_process(x; noise::Float32=0.03f0) + ϵ = Float32.(randn(size(x)) * noise) + x += ϵ + return x +end + +# Training data: +n_obs = 10000 +counterfactual_data = load_mnist(n_obs) +counterfactual_data.X = pre_process.(counterfactual_data.X) + +# VAE (trained on full dataset): +using CounterfactualExplanations.Models: load_mnist_vae +vae = load_mnist_vae() +counterfactual_data.generative_model = vae + +# Test data: +test_data = load_mnist_test() + +# Generators: +eccco_generator = ECCCoGenerator( + λ=[0.1,0.25,0.25], + temp=0.1, + opt=nothing, + use_class_loss=true, + nsamples=10, + nmin=10, +) +Λ = eccco_generator.λ +generator_dict = Dict( + "Wachter" => WachterGenerator(λ=Λ[1], opt=eccco_generator.opt), + "REVISE" => REVISEGenerator(λ=Λ[1], opt=eccco_generator.opt), + "Schut" => GreedyGenerator(η=2.0), + "ECCCo" => eccco_generator, +) + +# Run: +run_experiment( + counterfactual_data, test_data; dataname="MNIST", + n_hidden = 128, + activation = Flux.swish, + builder = MLJFlux.@builder Flux.Chain( + Dense(n_in, n_hidden, activation), + Dense(n_hidden, n_out), + ), + 𝒟x = Uniform(-1.0, 1.0), + α = [1.0,1.0,1e-2], + sampling_batch_size = 10, + ssampling_steps=25, + use_ensembling = true, + generators = generator_dict, +) \ No newline at end of file diff --git a/experiments/moons.jl b/experiments/moons.jl new file mode 100644 index 00000000..01e124b1 --- /dev/null +++ b/experiments/moons.jl @@ -0,0 +1,16 @@ +n_obs = Int(2500 / (1.0 - test_size)) +counterfactual_data, test_data = train_test_split(load_moons(n_obs); test_size=test_size) +run_experiment( + counterfactual_data, test_data; dataname="Moons", + epochs=500, + n_hidden=32, + activation = Flux.relu, + α=[1.0, 1.0, 1e-1], + sampling_batch_size=10, + sampling_steps=30, + λ₁=0.25, + λ₂=0.75, + λ₃=0.75, + opt=Flux.Optimise.Descent(0.05), + use_class_loss=false +) \ No newline at end of file diff --git a/experiments/run_experiments.jl b/experiments/run_experiments.jl new file mode 100644 index 00000000..36726597 --- /dev/null +++ b/experiments/run_experiments.jl @@ -0,0 +1,38 @@ +include("setup.jl") + +# User inputs: +if ENV["DATANAME"] == "all" + datanames = ["linearly_separable", "moons", "circles", "mnist", "gmsc"] +else + datanames = [ENV["DATANAME"]] +end + +# Linearly Separable +if "linearly_separable" in datanames + @info "Running linearly separable experiment." + include("linearly_separable.jl") +end + +# Moons +if "moons" in datanames + @info "Running moons experiment." + include("moons.jl") +end + +# Circles +if "circles" in datanames + @info "Running circles experiment." + include("circles.jl") +end + +# MNIST +if "mnist" in datanames + @info "Running MNIST experiment." + include("mnist.jl") +end + +# GMSC +if "gmsc" in datanames + @info "Running GMSC experiment." + include("gmsc.jl") +end diff --git a/experiments/setup.jl b/experiments/setup.jl new file mode 100644 index 00000000..0f5bde9f --- /dev/null +++ b/experiments/setup.jl @@ -0,0 +1,247 @@ +# General setup: +include("$(pwd())/notebooks/setup.jl") +eval(setup_notebooks) +output_path = "$(pwd())/replicated" +isdir(output_path) || mkdir(output_path) +@info "All results will be saved to $output_path." +params_path = "$(pwd())/replicated/params" +isdir(params_path) || mkdir(params_path) +@info "All parameter choices will be saved to $params_path." +test_size = 0.2 + +# Artifacts: +using LazyArtifacts +@warn "Models were pre-trained on `julia-1.8.5` and may not work on other versions." +artifact_path = joinpath(artifact"results-paper-submission-1.8.5","results-paper-submission-1.8.5") +pretrained_path = joinpath(artifact_path, "results") + +function run_experiment( + counterfactual_data, + test_data; + dataname, + output_path=output_path, + params_path=params_path, + pretrained_path=pretrained_path, + retrain=false, + epochs=100, + n_hidden=16, + activation=Flux.swish, + builder=MLJFlux.MLP( + hidden=(n_hidden, n_hidden, n_hidden), + σ=activation + ), + n_ens=5, + 𝒟x=Normal(), + sampling_batch_size=50, + α=[1.0, 1.0, 1e-1], + verbosity=10, + sampling_steps=30, + use_ensembling=false, + coverage=.95, + λ₁=0.25, + λ₂ = 0.75, + λ₃ = 0.75, + opt=Flux.Optimise.Descent(0.01), + use_class_loss=false, + use_variants=true, + n_individuals=25, + generators=nothing, +) + + # SETUP ---------- + + # Data + X, y = CounterfactualExplanations.DataPreprocessing.unpack_data(counterfactual_data) + X = table(permutedims(X)) + labels = counterfactual_data.output_encoder.labels + input_dim, n_obs = size(counterfactual_data.X) + output_dim = length(unique(labels)) + save_name = replace(lowercase(dataname), " " => "_") + + # Model parameters: + batch_size = minimum([Int(round(n_obs / 10)), 128]) + sampling_batch_size = isnothing(sampling_batch_size) ? batch_size : sampling_batch_size + _loss = Flux.Losses.crossentropy # loss function + _finaliser = Flux.softmax # finaliser function + + # JEM parameters: + 𝒟y = Categorical(ones(output_dim) ./ output_dim) + sampler = ConditionalSampler( + 𝒟x, 𝒟y, + input_size=(input_dim,), + batch_size=sampling_batch_size, + ) + + # MODELS ---------- + + # Simple MLP: + mlp = NeuralNetworkClassifier( + builder=builder, + epochs=epochs, + batch_size=batch_size, + finaliser=_finaliser, + loss=_loss, + ) + + # Deep Ensemble: + mlp_ens = EnsembleModel(model=mlp, n=n_ens) + + # Joint Energy Model: + jem = JointEnergyClassifier( + sampler; + builder=builder, + epochs=epochs, + batch_size=batch_size, + finaliser=_finaliser, + loss=_loss, + jem_training_params=( + α=α, verbosity=verbosity, + ), + sampling_steps=sampling_steps + ) + + # Deep Ensemble of Joint Energy Models: + jem_ens = EnsembleModel(model=jem, n=n_ens) + + # Dictionary of models: + if !use_ensembling + models = Dict( + "MLP" => mlp, + "JEM" => jem, + ) + else + models = Dict( + "MLP" => mlp, + "MLP Ensemble" => mlp_ens, + "JEM" => jem, + "JEM Ensemble" => jem_ens, + ) + end + + # TRAINING ---------- + function _train(model, X=X, y=labels; cov=coverage, method=:simple_inductive, mod_name="model") + conf_model = conformal_model(model; method=method, coverage=cov) + mach = machine(conf_model, X, y) + @info "Begin training $mod_name." + fit!(mach) + @info "Finished training $mod_name." + M = ECCCo.ConformalModel(mach.model, mach.fitresult) + return M + end + if retrain + @info "Retraining models." + model_dict = Dict(mod_name => _train(model; mod_name=mod_name) for (mod_name, model) in models) + Serialization.serialize(joinpath(output_path, "$(save_name)_models.jls"), model_dict) + else + @info "Loading pre-trained models." + model_dict = Serialization.deserialize(joinpath(pretrained_path, "$(save_name)_models.jls")) + end + + params = DataFrame( + Dict( + :n_obs => Int.(round(n_obs/10)*10), + :epochs => epochs, + :batch_size => batch_size, + :n_hidden => n_hidden, + :n_layers => length(model_dict["MLP"].fitresult[1][1])-1, + :activation => string(activation), + :n_ens => n_ens, + :lambda => string(α[3]), + :jem_sampling_steps => jem.sampling_steps, + :sgld_batch_size => sampler.batch_size, + :dataname => dataname, + ) + ) + CSV.write(joinpath(params_path, "$(save_name)_model_params.csv"), params) + + measure = Dict( + :f1score => multiclass_f1score, + :acc => accuracy, + :precision => multiclass_precision + ) + model_performance = DataFrame() + for (mod_name, model) in model_dict + # Test performance: + _perf = CounterfactualExplanations.Models.model_evaluation(model, test_data, measure=collect(values(measure))) + _perf = DataFrame([[p] for p in _perf], collect(keys(measure))) + _perf.mod_name .= mod_name + _perf.dataname .= dataname + model_performance = vcat(model_performance, _perf) + end + Serialization.serialize(joinpath(output_path, "$(save_name)_model_performance.jls"), model_performance) + CSV.write(joinpath(output_path, "$(save_name)_model_performance.csv"), model_performance) + @info "Model performance:" + println(model_performance) + + # COUNTERFACTUALS ---------- + + @info "Begin benchmarking counterfactual explanations." + Λ = [λ₁, λ₂, λ₃] + + generator_params = DataFrame( + Dict( + :λ1 => λ₁, + :λ2 => λ₂, + :λ3 => λ₃, + :opt => string(typeof(opt)), + :eta => opt.eta, + :dataname => dataname, + ) + ) + CSV.write(joinpath(params_path, "$(save_name)_generator_params.csv"), generator_params) + + # Benchmark generators: + if !isnothing(generators) + generator_dict = generators + elseif use_variants + generator_dict = Dict( + "Wachter" => WachterGenerator(λ=λ₁, opt=opt), + "REVISE" => REVISEGenerator(λ=λ₁, opt=opt), + "Schut" => GreedyGenerator(), + "ECCCo" => ECCCoGenerator(λ=Λ, opt=opt, use_class_loss=use_class_loss), + "ECCCo (no CP)" => ECCCoGenerator(λ=[λ₁, 0.0, λ₃], opt=opt, use_class_loss=use_class_loss), + "ECCCo (no EBM)" => ECCCoGenerator(λ=[λ₁, λ₂, 0.0], opt=opt, use_class_loss=use_class_loss), + ) + else + generator_dict = Dict( + "Wachter" => WachterGenerator(λ=λ₁, opt=opt), + "REVISE" => REVISEGenerator(λ=λ₁, opt=opt), + "Schut" => GreedyGenerator(), + "ECCCo" => ECCCoGenerator(λ=Λ, opt=opt, use_class_loss=use_class_loss), + ) + end + + # Measures: + measures = [ + CounterfactualExplanations.distance, + ECCCo.distance_from_energy, + ECCCo.distance_from_targets, + CounterfactualExplanations.Evaluation.validity, + CounterfactualExplanations.Evaluation.redundancy, + ECCCo.set_size_penalty + ] + + bmks = [] + for target in sort(unique(labels)) + for factual in sort(unique(labels)) + if factual == target + continue + end + bmk = benchmark( + counterfactual_data; + models=model_dict, + generators=generator_dict, + measure=measures, + suppress_training=true, dataname=dataname, + n_individuals=n_individuals, + target=target, factual=factual, + initialization=:identity, + converge_when=:generator_conditions + ) + push!(bmks, bmk) + end + end + bmk = reduce(vcat, bmks) + CSV.write(joinpath(output_path, "$(save_name)_benchmark.csv"), bmk()) + +end \ No newline at end of file diff --git a/index.html b/index.html index b0db579c..808e0532 100644 --- a/index.html +++ b/index.html @@ -6,7 +6,7 @@ - + Conformal Counterfactual Explanations @@ -148,7 +148,7 @@

Conformal Counterfactual Explanations

Author
-

Patrick Altmeyer

+

Anonymous Author

diff --git a/notebooks/Manifest.toml b/notebooks/Manifest.toml index 2eee81f1..2991812e 100644 --- a/notebooks/Manifest.toml +++ b/notebooks/Manifest.toml @@ -2,7 +2,7 @@ julia_version = "1.8.5" manifest_format = "2.0" -project_hash = "a2a8b27b3c8c411d9bf595480742a6cbff281867" +project_hash = "fc9fa528c24eda6abbd1fd80d2b604ef5c0990b8" [[deps.AbstractFFTs]] deps = ["ChainRulesCore", "LinearAlgebra"] @@ -16,16 +16,16 @@ uuid = "1520ce14-60c1-5f80-bbc7-55ef81b5835c" version = "0.4.4" [[deps.Accessors]] -deps = ["Compat", "CompositionsBase", "ConstructionBase", "Dates", "InverseFunctions", "LinearAlgebra", "MacroTools", "Requires", "StaticArrays", "Test"] -git-tree-sha1 = "a4f8669e46c8cdf68661fe6bb0f7b89f51dd23cf" +deps = ["Compat", "CompositionsBase", "ConstructionBase", "Dates", "InverseFunctions", "LinearAlgebra", "MacroTools", "Requires", "Test"] +git-tree-sha1 = "2b301c2388067d655fe5e4ca6d4aa53b61f895b4" uuid = "7d9f7c33-5ae7-4f3b-8dc6-eff91059b697" -version = "0.1.30" +version = "0.1.31" [[deps.Adapt]] deps = ["LinearAlgebra", "Requires"] -git-tree-sha1 = "cc37d689f599e8df4f464b2fa3870ff7db7492ef" +git-tree-sha1 = "76289dc51920fdc6e0013c872ba9551d54961c24" uuid = "79e6a3ab-5dfb-504d-930d-738a2a938a0e" -version = "3.6.1" +version = "3.6.2" [[deps.AlgebraOfGraphics]] deps = ["Colors", "Dates", "Dictionaries", "FileIO", "GLM", "GeoInterface", "GeometryBasics", "GridLayoutBase", "KernelDensity", "Loess", "Makie", "PlotUtils", "PooledArrays", "RelocatableFolders", "SnoopPrecompile", "StatsBase", "StructArrays", "Tables"] @@ -50,9 +50,9 @@ version = "1.1.1" [[deps.ArnoldiMethod]] deps = ["LinearAlgebra", "Random", "StaticArrays"] -git-tree-sha1 = "f87e559f87a45bece9c9ed97458d3afe98b1ebb9" +git-tree-sha1 = "62e51b39331de8911e4a7ff6f5aaf38a5f4cc0ae" uuid = "ec485272-7323-5ecc-a04f-4719b315124d" -version = "0.1.0" +version = "0.2.0" [[deps.Arpack]] deps = ["Arpack_jll", "Libdl", "LinearAlgebra", "Logging"] @@ -67,10 +67,10 @@ uuid = "68821587-b530-5797-8361-c406ea357684" version = "3.5.1+1" [[deps.ArrayInterface]] -deps = ["Adapt", "LinearAlgebra", "Requires", "SnoopPrecompile", "SparseArrays", "SuiteSparse"] -git-tree-sha1 = "38911c7737e123b28182d89027f4216cfc8a9da7" +deps = ["Adapt", "LinearAlgebra", "Requires", "SparseArrays", "SuiteSparse"] +git-tree-sha1 = "917286faa2abb288796e75b88ca67edc016f3219" uuid = "4fba245c-0d91-5ea0-9b3e-6abc04ee57a9" -version = "7.4.3" +version = "7.4.5" [[deps.Artifacts]] uuid = "56f22d72-fd6d-98f1-02f0-08ddc0907c33" @@ -111,10 +111,10 @@ uuid = "fbb218c0-5317-5bc6-957e-2ee96dd4b1f0" version = "0.3.7" [[deps.BangBang]] -deps = ["Compat", "ConstructionBase", "Future", "InitialValues", "LinearAlgebra", "Requires", "Setfield", "Tables", "ZygoteRules"] -git-tree-sha1 = "7fe6d92c4f281cf4ca6f2fba0ce7b299742da7ca" +deps = ["Compat", "ConstructionBase", "InitialValues", "LinearAlgebra", "Requires", "Setfield", "Tables"] +git-tree-sha1 = "54b00d1b93791f8e19e31584bd30f2cb6004614b" uuid = "198e06fe-97b7-11e9-32a5-e1d131e6ad66" -version = "0.3.37" +version = "0.3.38" [[deps.Base64]] uuid = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f" @@ -149,10 +149,10 @@ version = "0.4.2" uuid = "8bf52ea8-c179-5cab-976a-9e18b702a9bc" [[deps.CSV]] -deps = ["CodecZlib", "Dates", "FilePathsBase", "InlineStrings", "Mmap", "Parsers", "PooledArrays", "SentinelArrays", "SnoopPrecompile", "Tables", "Unicode", "WeakRefStrings", "WorkerUtilities"] -git-tree-sha1 = "c700cce799b51c9045473de751e9319bdd1c6e94" +deps = ["CodecZlib", "Dates", "FilePathsBase", "InlineStrings", "Mmap", "Parsers", "PooledArrays", "PrecompileTools", "SentinelArrays", "Tables", "Unicode", "WeakRefStrings", "WorkerUtilities"] +git-tree-sha1 = "ed28c86cbde3dc3f53cf76643c2e9bc11d56acc7" uuid = "336ed68f-0bac-5ca0-87d4-7b16caf5d00b" -version = "0.10.9" +version = "0.10.10" [[deps.CUDA]] deps = ["AbstractFFTs", "Adapt", "BFloat16s", "CEnum", "CUDA_Driver_jll", "CUDA_Runtime_Discovery", "CUDA_Runtime_jll", "CompilerSupportLibraries_jll", "ExprTools", "GPUArrays", "GPUCompiler", "KernelAbstractions", "LLVM", "LazyArtifacts", "Libdl", "LinearAlgebra", "Logging", "Preferences", "Printf", "Random", "Random123", "RandomNumbers", "Reexport", "Requires", "SparseArrays", "SpecialFunctions", "UnsafeAtomicsLLVM"] @@ -191,10 +191,10 @@ uuid = "159f3aea-2a34-519c-b102-8c37f9878175" version = "1.0.5" [[deps.CairoMakie]] -deps = ["Base64", "Cairo", "Colors", "FFTW", "FileIO", "FreeType", "GeometryBasics", "LinearAlgebra", "Makie", "SHA", "SnoopPrecompile"] -git-tree-sha1 = "2aba202861fd2b7603beb80496b6566491229855" +deps = ["Base64", "Cairo", "Colors", "FFTW", "FileIO", "FreeType", "GeometryBasics", "LinearAlgebra", "Makie", "PrecompileTools", "SHA"] +git-tree-sha1 = "9e7f01dd16e576ebbdf8b453086f9d0eff814a09" uuid = "13f3f980-e62b-5c42-98c6-ff1f3baf88f0" -version = "0.10.4" +version = "0.10.5" [[deps.Cairo_jll]] deps = ["Artifacts", "Bzip2_jll", "CompilerSupportLibraries_jll", "Fontconfig_jll", "FreeType2_jll", "Glib_jll", "JLLWrappers", "LZO_jll", "Libdl", "Pixman_jll", "Pkg", "Xorg_libXext_jll", "Xorg_libXrender_jll", "Zlib_jll", "libpng_jll"] @@ -239,9 +239,9 @@ version = "1.49.0" [[deps.ChainRulesCore]] deps = ["Compat", "LinearAlgebra", "SparseArrays"] -git-tree-sha1 = "c6d890a52d2c4d55d326439580c3b8d0875a77d9" +git-tree-sha1 = "e30f2f4e20f7f186dc36529910beaedc60cfa644" uuid = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" -version = "1.15.7" +version = "1.16.0" [[deps.ChangesOfVariables]] deps = ["LinearAlgebra", "Test"] @@ -251,15 +251,15 @@ version = "0.1.7" [[deps.Chemfiles]] deps = ["Chemfiles_jll", "DocStringExtensions"] -git-tree-sha1 = "9126d0271c337ca5ed02ba92f2dec087c4260d4a" +git-tree-sha1 = "6951fe6a535a07041122a3a6860a63a7a83e081e" uuid = "46823bd8-5fb3-5f92-9aa0-96921f3dd015" -version = "0.10.31" +version = "0.10.40" [[deps.Chemfiles_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "d4e54b053fc584e7a0f37e9d3a5c4500927b343a" +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "f3743181e30d87c23d9c8ebd493b77f43d8f1890" uuid = "78a364fa-1a3c-552a-b4bb-8fa0f9c1fcca" -version = "0.10.3+0" +version = "0.10.4+0" [[deps.Cleaner]] deps = ["Tables"] @@ -269,9 +269,9 @@ version = "0.5.0" [[deps.Clustering]] deps = ["Distances", "LinearAlgebra", "NearestNeighbors", "Printf", "Random", "SparseArrays", "Statistics", "StatsBase"] -git-tree-sha1 = "7ebbd653f74504447f1c33b91cd706a69a1b189f" +git-tree-sha1 = "a6e6ce44a1e0a781772fc795fb7343b1925e9898" uuid = "aaaa29a8-35af-508c-8bc3-b662a17a0fe5" -version = "0.14.4" +version = "0.15.2" [[deps.CodeTracking]] deps = ["InteractiveUtils", "UUIDs"] @@ -338,9 +338,9 @@ uuid = "e66e0078-7015-5450-92f7-15fbd957f2ae" version = "1.0.1+0" [[deps.CompositionsBase]] -git-tree-sha1 = "455419f7e328a1a2493cabc6428d79e951349769" +git-tree-sha1 = "802bb88cd69dfd1509f6670416bd4434015693ad" uuid = "a33af91c-f02d-484b-be07-31d278c5ca2b" -version = "0.1.1" +version = "0.1.2" [[deps.ComputationalResources]] git-tree-sha1 = "52cb3ec90e8a8bea0e62e275ba577ad0f74821f7" @@ -349,15 +349,15 @@ version = "0.3.2" [[deps.ConcurrentUtilities]] deps = ["Serialization", "Sockets"] -git-tree-sha1 = "b306df2650947e9eb100ec125ff8c65ca2053d30" +git-tree-sha1 = "96d823b94ba8d187a6d8f0826e731195a74b90e9" uuid = "f0e56b4a-5159-44fe-b623-3e5288b988bb" -version = "2.1.1" +version = "2.2.0" [[deps.ConformalPrediction]] deps = ["CategoricalArrays", "ChainRules", "Flux", "LinearAlgebra", "MLJBase", "MLJEnsembles", "MLJFlux", "MLJModelInterface", "MLUtils", "NaturalSort", "Plots", "StatsBase"] path = "../../ConformalPrediction.jl" uuid = "98bfc277-1877-43dc-819b-a3e38c30242f" -version = "0.1.6" +version = "0.1.7" [[deps.ConstructionBase]] deps = ["LinearAlgebra"] @@ -378,15 +378,15 @@ version = "0.6.2" [[deps.CoordinateTransformations]] deps = ["LinearAlgebra", "StaticArrays"] -git-tree-sha1 = "681ea870b918e7cff7111da58791d7f718067a19" +git-tree-sha1 = "f9d7112bfff8a19a3a4ea4e03a8e6a91fe8456bf" uuid = "150eb455-5306-5404-9cee-2592286d6298" -version = "0.6.2" +version = "0.6.3" [[deps.CounterfactualExplanations]] -deps = ["CSV", "CUDA", "CategoricalArrays", "ChainRulesCore", "DataFrames", "Flux", "LaplaceRedux", "LazyArtifacts", "LinearAlgebra", "MLDatasets", "MLJBase", "MLJModels", "MLUtils", "MultivariateStats", "NearestNeighborModels", "Parameters", "PkgTemplates", "Plots", "ProgressMeter", "Random", "Serialization", "SliceMap", "SnoopPrecompile", "Statistics", "StatsBase", "Tables", "UMAP"] +deps = ["CSV", "CUDA", "CategoricalArrays", "ChainRulesCore", "DataFrames", "Flux", "LaplaceRedux", "LazyArtifacts", "LinearAlgebra", "MLDatasets", "MLJBase", "MLJModels", "MLUtils", "MultivariateStats", "NearestNeighborModels", "Parameters", "Plots", "ProgressMeter", "Random", "Serialization", "SliceMap", "SnoopPrecompile", "Statistics", "StatsBase", "Tables", "UMAP"] path = "../../CounterfactualExplanations.jl" uuid = "2f13d31b-18db-44c1-bc43-ebaf2cff0be0" -version = "0.1.10" +version = "0.1.11" [[deps.Crayons]] git-tree-sha1 = "249fe38abf76d48563e2f4556bebd215aa317e15" @@ -399,9 +399,9 @@ uuid = "dc8bdbbb-1ca9-579f-8c36-e416f6a65cce" version = "1.0.2" [[deps.DataAPI]] -git-tree-sha1 = "e8119c1a33d267e16108be441a287a6981ba1630" +git-tree-sha1 = "8da84edb865b0b5b0100c0666a9bc9a0b71c553c" uuid = "9a962f9c-6df0-11e9-0e5d-c546b8b5ee8a" -version = "1.14.0" +version = "1.15.0" [[deps.DataDeps]] deps = ["HTTP", "Libdl", "Reexport", "SHA", "p7zip_jll"] @@ -474,10 +474,10 @@ deps = ["Random", "Serialization", "Sockets"] uuid = "8ba89e20-285c-5b6f-9357-94700520ee1b" [[deps.Distributions]] -deps = ["ChainRulesCore", "DensityInterface", "FillArrays", "LinearAlgebra", "PDMats", "Printf", "QuadGK", "Random", "SparseArrays", "SpecialFunctions", "Statistics", "StatsBase", "StatsFuns", "Test"] -git-tree-sha1 = "c2614fa3aafe03d1a44b8e16508d9be718b8095a" +deps = ["ChainRulesCore", "DensityInterface", "FillArrays", "LinearAlgebra", "PDMats", "Printf", "QuadGK", "Random", "SparseArrays", "SpecialFunctions", "Statistics", "StatsAPI", "StatsBase", "StatsFuns", "Test"] +git-tree-sha1 = "aa8ae1e8e8d4b5ef38a8fbc028fc75f3c5cad73d" uuid = "31c24e10-a181-5473-b8eb-7969acd0382f" -version = "0.25.89" +version = "0.25.94" [[deps.DocStringExtensions]] deps = ["LibGit2"] @@ -583,9 +583,9 @@ uuid = "7b1f6079-737a-58dc-b8bc-7a2ca5c1b5ee" [[deps.FillArrays]] deps = ["LinearAlgebra", "Random", "SparseArrays", "Statistics"] -git-tree-sha1 = "7072f1e3e5a8be51d525d64f63d3ec1287ff2790" +git-tree-sha1 = "fa10570aee20250d446c9951b459c63529b1107c" uuid = "1a297f60-69ca-5386-bcde-b61e274b549b" -version = "0.13.11" +version = "1.0.2" [[deps.FiniteDiff]] deps = ["ArrayInterface", "LinearAlgebra", "Requires", "Setfield", "SparseArrays", "StaticArrays"] @@ -694,21 +694,21 @@ version = "0.1.4" [[deps.GPUCompiler]] deps = ["ExprTools", "InteractiveUtils", "LLVM", "Libdl", "Logging", "Scratch", "TimerOutputs", "UUIDs"] -git-tree-sha1 = "e9a9173cd77e16509cdf9c1663fda19b22a518b7" +git-tree-sha1 = "5737dc242dadd392d934ee330c69ceff47f0259c" uuid = "61eb1bfa-7361-4325-ad38-22787b887f55" -version = "0.19.3" +version = "0.19.4" [[deps.GR]] deps = ["Artifacts", "Base64", "DelimitedFiles", "Downloads", "GR_jll", "HTTP", "JSON", "Libdl", "LinearAlgebra", "Pkg", "Preferences", "Printf", "Random", "Serialization", "Sockets", "TOML", "Tar", "Test", "UUIDs", "p7zip_jll"] -git-tree-sha1 = "efaac003187ccc71ace6c755b197284cd4811bfe" +git-tree-sha1 = "3eeb026e99c84517c35d0309468a63df712d8460" uuid = "28b8d3ca-fb5f-59d9-8090-bfdbd6d07a71" -version = "0.72.4" +version = "0.72.6" [[deps.GR_jll]] deps = ["Artifacts", "Bzip2_jll", "Cairo_jll", "FFMPEG_jll", "Fontconfig_jll", "GLFW_jll", "JLLWrappers", "JpegTurbo_jll", "Libdl", "Libtiff_jll", "Pixman_jll", "Qt5Base_jll", "Zlib_jll", "libpng_jll"] -git-tree-sha1 = "4486ff47de4c18cb511a0da420efebb314556316" +git-tree-sha1 = "55297beef80a236708e6a54b134d07fde213cd1b" uuid = "d2c73de3-f751-5644-a686-071e5b155ba9" -version = "0.72.4+0" +version = "0.72.6+0" [[deps.GZip]] deps = ["Libdl"] @@ -718,9 +718,9 @@ version = "0.5.1" [[deps.GeoInterface]] deps = ["Extents"] -git-tree-sha1 = "0eb6de0b312688f852f347171aba888658e29f20" +git-tree-sha1 = "bb198ff907228523f3dee1070ceee63b9359b6ab" uuid = "cf35fbd7-0cd7-5166-be24-54bfbe79505f" -version = "1.3.0" +version = "1.3.1" [[deps.GeometryBasics]] deps = ["EarCut_jll", "GeoInterface", "IterTools", "LinearAlgebra", "StaticArrays", "StructArrays", "Tables"] @@ -794,9 +794,9 @@ version = "1.12.2+2" [[deps.HTTP]] deps = ["Base64", "CodecZlib", "ConcurrentUtilities", "Dates", "Logging", "LoggingExtras", "MbedTLS", "NetworkOptions", "OpenSSL", "Random", "SimpleBufferStream", "Sockets", "URIs", "UUIDs"] -git-tree-sha1 = "69182f9a2d6add3736b7a06ab6416aafdeec2196" +git-tree-sha1 = "ba9eca9f8bdb787c6f3cf52cb4a404c0e349a0d1" uuid = "cd3eb016-35fb-5094-929b-558a96fad6f3" -version = "1.8.0" +version = "1.9.5" [[deps.HarfBuzz_jll]] deps = ["Artifacts", "Cairo_jll", "Fontconfig_jll", "FreeType2_jll", "Glib_jll", "Graphite2_jll", "JLLWrappers", "Libdl", "Libffi_jll", "Pkg"] @@ -812,15 +812,15 @@ version = "0.5.2" [[deps.HypergeometricFunctions]] deps = ["DualNumbers", "LinearAlgebra", "OpenLibm_jll", "SpecialFunctions"] -git-tree-sha1 = "432b5b03176f8182bd6841fbfc42c718506a2d5f" +git-tree-sha1 = "84204eae2dd237500835990bcade263e27674a93" uuid = "34004b35-14d8-5ef3-9330-4cdb6864b03a" -version = "0.3.15" +version = "0.3.16" [[deps.IRTools]] deps = ["InteractiveUtils", "MacroTools", "Test"] -git-tree-sha1 = "0ade27f0c49cebd8db2523c4eeccf779407cf12c" +git-tree-sha1 = "eac00994ce3229a464c2847e956d77a2c64ad3a5" uuid = "7869d1d1-7146-5819-86e3-90919afe41df" -version = "0.4.9" +version = "0.4.10" [[deps.ImageAxes]] deps = ["AxisArrays", "ImageBase", "ImageCore", "Reexport", "SimpleTraits"] @@ -854,9 +854,9 @@ version = "0.2.16" [[deps.ImageFiltering]] deps = ["CatIndices", "ComputationalResources", "DataStructures", "FFTViews", "FFTW", "ImageBase", "ImageCore", "LinearAlgebra", "OffsetArrays", "Reexport", "SnoopPrecompile", "SparseArrays", "StaticArrays", "Statistics", "TiledIteration"] -git-tree-sha1 = "f265e53558fbbf23e0d54e4fab7106c0f2a9e576" +git-tree-sha1 = "c3630289f3591711f5add6ef1347bc20f1bb8d27" uuid = "6a3955dd-da59-5b1f-98d4-e7296123deb5" -version = "0.7.3" +version = "0.7.4" [[deps.ImageIO]] deps = ["FileIO", "IndirectArrays", "JpegTurbo", "LazyModules", "Netpbm", "OpenEXR", "PNGFiles", "QOI", "Sixel", "TiffImages", "UUIDs"] @@ -896,9 +896,9 @@ version = "0.3.5" [[deps.ImageSegmentation]] deps = ["Clustering", "DataStructures", "Distances", "Graphs", "ImageCore", "ImageFiltering", "ImageMorphology", "LinearAlgebra", "MetaGraphs", "RegionTrees", "SimpleWeightedGraphs", "StaticArrays", "Statistics"] -git-tree-sha1 = "fb0b597b4928e29fed0597724cfbb5940974f8ca" +git-tree-sha1 = "44664eea5408828c03e5addb84fa4f916132fc26" uuid = "80713f31-8817-5129-9cf8-209ff8fb23e1" -version = "1.8.0" +version = "1.8.1" [[deps.ImageShow]] deps = ["Base64", "ColorSchemes", "FileIO", "ImageBase", "ImageCore", "OffsetArrays", "StackViews"] @@ -914,9 +914,9 @@ version = "0.9.5" [[deps.Images]] deps = ["Base64", "FileIO", "Graphics", "ImageAxes", "ImageBase", "ImageContrastAdjustment", "ImageCore", "ImageDistances", "ImageFiltering", "ImageIO", "ImageMagick", "ImageMetadata", "ImageMorphology", "ImageQualityIndexes", "ImageSegmentation", "ImageShow", "ImageTransformations", "IndirectArrays", "IntegralArrays", "Random", "Reexport", "SparseArrays", "StaticArrays", "Statistics", "StatsBase", "TiledIteration"] -git-tree-sha1 = "03d1301b7ec885b266c0f816f338368c6c0b81bd" +git-tree-sha1 = "5fa9f92e1e2918d9d1243b1131abe623cdf98be7" uuid = "916415d5-f1e6-5110-898d-aaa5f9f070e0" -version = "0.25.2" +version = "0.25.3" [[deps.Imath_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] @@ -1050,7 +1050,7 @@ version = "1.12.0" deps = ["CategoricalArrays", "ChainRulesCore", "ComputationalResources", "Distributions", "Flux", "MLJFlux", "MLJModelInterface", "MLUtils", "PkgTemplates", "ProgressMeter", "Random", "StatsBase", "Tables", "Zygote"] path = "../../JointEnergyModels.jl" uuid = "48c56d24-211d-4463-bbc0-7a701b291131" -version = "0.1.0" +version = "0.1.1" [[deps.JpegTurbo]] deps = ["CEnum", "FileIO", "ImageCore", "JpegTurbo_jll", "TOML"] @@ -1101,9 +1101,9 @@ version = "3.0.0+1" [[deps.LLVM]] deps = ["CEnum", "LLVMExtra_jll", "Libdl", "Printf", "Unicode"] -git-tree-sha1 = "a8960cae30b42b66dd41808beb76490519f6f9e2" +git-tree-sha1 = "26a31cdd9f1f4ea74f649a7bf249703c687a953d" uuid = "929cbde3-209d-540e-8aea-75f648917ca0" -version = "5.0.0" +version = "5.1.0" [[deps.LLVMExtra_jll]] deps = ["Artifacts", "JLLWrappers", "LazyArtifacts", "Libdl", "TOML"] @@ -1213,12 +1213,6 @@ git-tree-sha1 = "7f3efec06033682db852f8b3bc3c1d2b0a0ab066" uuid = "38a345b3-de98-5d2b-a5d3-14cd9215e700" version = "2.36.0+0" -[[deps.LightGraphs]] -deps = ["ArnoldiMethod", "DataStructures", "Distributed", "Inflate", "LinearAlgebra", "Random", "SharedArrays", "SimpleTraits", "SparseArrays", "Statistics"] -git-tree-sha1 = "432428df5f360964040ed60418dd5601ecd240b6" -uuid = "093fc24a-ae57-5d10-9952-331d41423f4d" -version = "1.3.5" - [[deps.LinearAlgebra]] deps = ["Libdl", "libblastrampoline_jll"] uuid = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" @@ -1252,9 +1246,9 @@ version = "0.10.0" [[deps.LsqFit]] deps = ["Distributions", "ForwardDiff", "LinearAlgebra", "NLSolversBase", "OptimBase", "Random", "StatsBase"] -git-tree-sha1 = "91aa1442e63a77f101aff01dec5a821a17f43922" +git-tree-sha1 = "00f475f85c50584b12268675072663dfed5594b2" uuid = "2fda8390-95c7-5789-9bda-21331edee243" -version = "0.12.1" +version = "0.13.0" [[deps.MAT]] deps = ["BufferedStreams", "CodecZlib", "HDF5", "SparseArrays"] @@ -1282,9 +1276,9 @@ version = "0.21.11" [[deps.MLJEnsembles]] deps = ["CategoricalArrays", "CategoricalDistributions", "ComputationalResources", "Distributed", "Distributions", "MLJBase", "MLJModelInterface", "ProgressMeter", "Random", "ScientificTypesBase", "StatsBase"] -git-tree-sha1 = "bb8a1056b1d8b40f2f27167fc3ef6412a6719fbf" +git-tree-sha1 = "95b306ef8108067d26dfde9ff3457d59911cc0d6" uuid = "50ed68f4-41fd-4504-931a-ed422449fee0" -version = "0.3.2" +version = "0.3.3" [[deps.MLJFlux]] deps = ["CategoricalArrays", "ColorTypes", "ComputationalResources", "Flux", "MLJModelInterface", "Metalhead", "ProgressMeter", "Random", "Statistics", "Tables"] @@ -1300,9 +1294,9 @@ version = "1.8.0" [[deps.MLJModels]] deps = ["CategoricalArrays", "CategoricalDistributions", "Combinatorics", "Dates", "Distances", "Distributions", "InteractiveUtils", "LinearAlgebra", "MLJModelInterface", "Markdown", "OrderedCollections", "Parameters", "Pkg", "PrettyPrinting", "REPL", "Random", "RelocatableFolders", "ScientificTypes", "StatisticalTraits", "Statistics", "StatsBase", "Tables"] -git-tree-sha1 = "21acf47dc53ccc3d68e38ac7629756cd09b599f5" +git-tree-sha1 = "6a1166e463cf0210364e84f334c79ecf9ac6f51f" uuid = "d491faf4-2d78-11e9-2867-c94bc002c0b7" -version = "0.16.6" +version = "0.16.7" [[deps.MLStyle]] git-tree-sha1 = "bc38dff0548128765760c79eb7388a4b37fae2c8" @@ -1322,10 +1316,10 @@ uuid = "1914dd2f-81c6-5fcd-8719-6d5c9610ff09" version = "0.5.10" [[deps.Makie]] -deps = ["Animations", "Base64", "ColorBrewer", "ColorSchemes", "ColorTypes", "Colors", "Contour", "Distributions", "DocStringExtensions", "Downloads", "FFMPEG", "FileIO", "FixedPointNumbers", "Formatting", "FreeType", "FreeTypeAbstraction", "GeometryBasics", "GridLayoutBase", "ImageIO", "InteractiveUtils", "IntervalSets", "Isoband", "KernelDensity", "LaTeXStrings", "LinearAlgebra", "MakieCore", "Markdown", "Match", "MathTeXEngine", "MiniQhull", "Observables", "OffsetArrays", "Packing", "PlotUtils", "PolygonOps", "Printf", "Random", "RelocatableFolders", "Setfield", "Showoff", "SignedDistanceFields", "SnoopPrecompile", "SparseArrays", "StableHashTraits", "Statistics", "StatsBase", "StatsFuns", "StructArrays", "TriplotBase", "UnicodeFun"] -git-tree-sha1 = "74657542dc85c3b72b8a5a9392d57713d8b7a999" +deps = ["Animations", "Base64", "ColorBrewer", "ColorSchemes", "ColorTypes", "Colors", "Contour", "Distributions", "DocStringExtensions", "Downloads", "FFMPEG", "FileIO", "FixedPointNumbers", "Formatting", "FreeType", "FreeTypeAbstraction", "GeometryBasics", "GridLayoutBase", "ImageIO", "InteractiveUtils", "IntervalSets", "Isoband", "KernelDensity", "LaTeXStrings", "LinearAlgebra", "MacroTools", "MakieCore", "Markdown", "Match", "MathTeXEngine", "MiniQhull", "Observables", "OffsetArrays", "Packing", "PlotUtils", "PolygonOps", "PrecompileTools", "Printf", "REPL", "Random", "RelocatableFolders", "Setfield", "Showoff", "SignedDistanceFields", "SparseArrays", "StableHashTraits", "Statistics", "StatsBase", "StatsFuns", "StructArrays", "TriplotBase", "UnicodeFun"] +git-tree-sha1 = "3a9ca622a78dcbab3a034df35d1acd3ca7ad487d" uuid = "ee78f7c6-11fb-53f2-987a-cfe4a2b5a57a" -version = "0.19.4" +version = "0.19.5" [[deps.MakieCore]] deps = ["Observables"] @@ -1334,9 +1328,9 @@ uuid = "20f20a25-4f0e-4fdf-b5d1-57303727442b" version = "0.6.3" [[deps.MappedArrays]] -git-tree-sha1 = "e8b359ef06ec72e8c030463fe02efe5527ee5142" +git-tree-sha1 = "2dab0221fe2b0f2cb6754eaa743cc266339f527e" uuid = "dbb5928d-eab1-5f90-85c2-b9b0edb7c900" -version = "0.4.1" +version = "0.4.2" [[deps.MarchingCubes]] deps = ["PrecompileTools", "StaticArrays"] @@ -1483,16 +1477,16 @@ uuid = "c020b1a1-e9b0-503a-9c33-f039bfc54a85" version = "1.0.0" [[deps.NearestNeighborDescent]] -deps = ["DataStructures", "Distances", "LightGraphs", "Random", "Reexport", "SparseArrays"] -git-tree-sha1 = "8f41eced4332166c3548bda137779c38975ac4af" +deps = ["DataStructures", "Distances", "Graphs", "Random", "Reexport", "SparseArrays"] +git-tree-sha1 = "b7d4bd2ab58f0c3a001fd6eedc2e0aac8e278152" uuid = "dd2c4c9e-a32f-5b2f-b342-08c2f244fce8" -version = "0.3.5" +version = "0.3.6" [[deps.NearestNeighborModels]] deps = ["Distances", "FillArrays", "InteractiveUtils", "LinearAlgebra", "MLJModelInterface", "NearestNeighbors", "Statistics", "StatsBase", "Tables"] -git-tree-sha1 = "c2179f9d8de066c481b889a1426068c5831bb10b" +git-tree-sha1 = "e411143a8362926e4284a54e745972e939fbab78" uuid = "636a865e-7cf4-491e-846c-de09b730eb36" -version = "0.2.2" +version = "0.2.3" [[deps.NearestNeighbors]] deps = ["Distances", "StaticArrays"] @@ -1557,9 +1551,9 @@ version = "0.8.1+0" [[deps.OpenSSL]] deps = ["BitFlags", "Dates", "MozillaCACerts_jll", "OpenSSL_jll", "Sockets"] -git-tree-sha1 = "7fb975217aea8f1bb360cf1dde70bad2530622d2" +git-tree-sha1 = "51901a49222b09e3743c65b8847687ae5fc78eb2" uuid = "4d8831e6-92b7-49fb-bdf8-b643e874388c" -version = "1.4.0" +version = "1.4.1" [[deps.OpenSSL_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] @@ -1638,10 +1632,10 @@ uuid = "d96e819e-fc66-5662-9728-84c9c7592b0a" version = "0.12.3" [[deps.Parsers]] -deps = ["Dates", "SnoopPrecompile"] -git-tree-sha1 = "478ac6c952fddd4399e71d4779797c538d0ff2bf" +deps = ["Dates", "PrecompileTools", "UUIDs"] +git-tree-sha1 = "a5aef8d4a6e8d81f171b2bd4be5265b01384c74c" uuid = "69de0a69-1ddd-5017-9359-2bf0b02dc9f0" -version = "2.5.8" +version = "2.5.10" [[deps.Pickle]] deps = ["DataStructures", "InternedStrings", "Serialization", "SparseArrays", "Strided", "StringEncodings", "ZipFile"] @@ -1667,9 +1661,9 @@ version = "1.8.0" [[deps.PkgTemplates]] deps = ["Dates", "InteractiveUtils", "LibGit2", "Mocking", "Mustache", "Parameters", "Pkg", "REPL", "UUIDs"] -git-tree-sha1 = "b8e88d61d55607c07ac1ed9dabf474cfab8490b9" +git-tree-sha1 = "c3d05325a4a66b83c707dead080797d271c4af22" uuid = "14b8a8f1-9102-5b29-a752-f990bacb7fe1" -version = "0.7.34" +version = "0.7.36" [[deps.PkgVersion]] deps = ["Pkg"] @@ -1691,9 +1685,9 @@ version = "1.3.5" [[deps.Plots]] deps = ["Base64", "Contour", "Dates", "Downloads", "FFMPEG", "FixedPointNumbers", "GR", "JLFzf", "JSON", "LaTeXStrings", "Latexify", "LinearAlgebra", "Measures", "NaNMath", "Pkg", "PlotThemes", "PlotUtils", "PrecompileTools", "Preferences", "Printf", "REPL", "Random", "RecipesBase", "RecipesPipeline", "Reexport", "RelocatableFolders", "Requires", "Scratch", "Showoff", "SparseArrays", "Statistics", "StatsBase", "UUIDs", "UnicodeFun", "Unzip"] -git-tree-sha1 = "6c7f47fd112001fc95ea1569c2757dffd9e81328" +git-tree-sha1 = "d03ef538114b38f89d66776f2d8fdc0280f90621" uuid = "91a5bcdd-55d7-5caf-9e0b-520d859cae80" -version = "1.38.11" +version = "1.38.12" [[deps.PolygonOps]] git-tree-sha1 = "77b3d3605fc1cd0b42d95eba87dfcd2bf67d5ff6" @@ -1708,9 +1702,9 @@ version = "1.4.2" [[deps.PrecompileTools]] deps = ["Preferences"] -git-tree-sha1 = "d0984cc886c48e5a165705ce65236dc2ec467b91" +git-tree-sha1 = "259e206946c293698122f63e2b513a7c99a244e8" uuid = "aea7be01-6a6a-4083-8856-8a6e6704d82a" -version = "1.1.0" +version = "1.1.1" [[deps.Preferences]] deps = ["TOML"] @@ -1724,9 +1718,9 @@ uuid = "8162dcfd-2161-5ef2-ae6c-7681170c5f98" version = "0.2.0" [[deps.PrettyPrinting]] -git-tree-sha1 = "4be53d093e9e37772cc89e1009e8f6ad10c4681b" +git-tree-sha1 = "22a601b04a154ca38867b991d5017469dc75f2db" uuid = "54e16d92-306c-5ea0-a30b-337be88ac337" -version = "0.4.0" +version = "0.4.1" [[deps.PrettyTables]] deps = ["Crayons", "Formatting", "LaTeXStrings", "Markdown", "Reexport", "StringManipulation", "Tables"] @@ -1763,10 +1757,10 @@ uuid = "460c41e3-6112-5d7f-b78c-b6823adb3f2d" version = "1.0.0+1" [[deps.Qhull_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "238dd7e2cc577281976b9681702174850f8d4cbc" +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "be2449911f4d6cfddacdf7efc895eceda3eee5c1" uuid = "784f63db-0788-585a-bace-daefebcd302b" -version = "8.0.1001+0" +version = "8.0.1003+0" [[deps.Qt5Base_jll]] deps = ["Artifacts", "CompilerSupportLibraries_jll", "Fontconfig_jll", "Glib_jll", "JLLWrappers", "Libdl", "Libglvnd_jll", "OpenSSL_jll", "Pkg", "Xorg_libXext_jll", "Xorg_libxcb_jll", "Xorg_xcb_util_image_jll", "Xorg_xcb_util_keysyms_jll", "Xorg_xcb_util_renderutil_jll", "Xorg_xcb_util_wm_jll", "Zlib_jll", "xkbcommon_jll"] @@ -1871,20 +1865,20 @@ uuid = "f50d1b31-88e8-58de-be2c-1cc44531875f" version = "0.4.0+0" [[deps.Rotations]] -deps = ["LinearAlgebra", "Quaternions", "Random", "StaticArrays", "Statistics"] -git-tree-sha1 = "72a6abdcd088764878b473102df7c09bbc0548de" +deps = ["LinearAlgebra", "Quaternions", "Random", "StaticArrays"] +git-tree-sha1 = "54ccb4dbab4b1f69beb255a2c0ca5f65a9c82f08" uuid = "6038ab10-8711-5258-84ad-4b1120ba62dc" -version = "1.4.0" +version = "1.5.1" [[deps.SHA]] uuid = "ea8e919c-243c-51af-8825-aaa63cd721ce" version = "0.7.0" [[deps.SIMD]] -deps = ["SnoopPrecompile"] -git-tree-sha1 = "8b20084a97b004588125caebf418d8cab9e393d1" +deps = ["PrecompileTools"] +git-tree-sha1 = "0e270732477b9e551d884e6b07e23bb2ec947790" uuid = "fdea26ae-647d-5447-a871-4b548cad5224" -version = "3.4.4" +version = "3.4.5" [[deps.ScanByte]] deps = ["Libdl", "SIMD"] @@ -2024,9 +2018,9 @@ version = "0.1.1" [[deps.StaticArrays]] deps = ["LinearAlgebra", "Random", "StaticArraysCore", "Statistics"] -git-tree-sha1 = "c262c8e978048c2b095be1672c9bee55b4619521" +git-tree-sha1 = "8982b3607a212b070a5e46eea83eb62b4744ae12" uuid = "90137ffa-7385-5640-81b9-e52037218182" -version = "1.5.24" +version = "1.5.25" [[deps.StaticArraysCore]] git-tree-sha1 = "6b7ba252635a5eff6a0b0664a41ee140a1c9e72a" @@ -2142,9 +2136,9 @@ version = "0.1.1" [[deps.Term]] deps = ["AbstractTrees", "CodeTracking", "Dates", "Highlights", "InteractiveUtils", "Logging", "Markdown", "MyterialColors", "OrderedCollections", "Parameters", "PrecompileTools", "ProgressLogging", "REPL", "Tables", "UUIDs", "Unicode", "UnicodeFun"] -git-tree-sha1 = "8c39ff5ca61d233243048801f8a7f5039e98cd06" +git-tree-sha1 = "7952fafaecea040260bdc4be2afff92c411c23ce" uuid = "22787eb5-b846-44ae-b979-8e399b8463ab" -version = "2.0.3" +version = "2.0.4" [[deps.Test]] deps = ["InteractiveUtils", "Logging", "Random", "Serialization"] @@ -2176,9 +2170,9 @@ version = "0.5.23" [[deps.Tracker]] deps = ["Adapt", "DiffRules", "ForwardDiff", "Functors", "LinearAlgebra", "LogExpFunctions", "MacroTools", "NNlib", "NaNMath", "Optimisers", "Printf", "Random", "Requires", "SpecialFunctions", "Statistics"] -git-tree-sha1 = "eee09af86d519b1f9bf76126de77e2c8716b1c72" +git-tree-sha1 = "8b552cc0a4132c1ce5cee14197bb57d2109d480f" uuid = "9f7883ad-71c0-57eb-9f7f-b5c9e6d3789c" -version = "0.2.24" +version = "0.2.25" [[deps.TranscodingStreams]] deps = ["Random", "Test"] @@ -2188,9 +2182,9 @@ version = "0.9.13" [[deps.Transducers]] deps = ["Adapt", "ArgCheck", "BangBang", "Baselet", "CompositionsBase", "DefineSingletons", "Distributed", "InitialValues", "Logging", "Markdown", "MicroCollections", "Requires", "Setfield", "SplittablesBase", "Tables"] -git-tree-sha1 = "c42fa452a60f022e9e087823b47e5a5f8adc53d5" +git-tree-sha1 = "25358a5f2384c490e98abd565ed321ffae2cbb37" uuid = "28d57a85-8fef-5791-bfe6-a80928e7c999" -version = "0.4.75" +version = "0.4.76" [[deps.TriplotBase]] git-tree-sha1 = "4d4ed7f294cda19382ff7de4c137d24d16adc89b" @@ -2204,9 +2198,9 @@ version = "1.3.0" [[deps.UMAP]] deps = ["Arpack", "Distances", "LinearAlgebra", "LsqFit", "NearestNeighborDescent", "Random", "SparseArrays"] -git-tree-sha1 = "2a6991639e93fcbbdb8a0476b521a6ac9700ee97" +git-tree-sha1 = "accad220f075445f68caa6488be728957a5d82d6" uuid = "c4f8c510-2410-5be4-91d7-4fbaeb39457e" -version = "0.1.9" +version = "0.1.10" [[deps.URIs]] git-tree-sha1 = "074f993b0ca030848b897beff716d93aca60f06a" @@ -2233,9 +2227,9 @@ version = "0.4.1" [[deps.UnicodePlots]] deps = ["ColorSchemes", "ColorTypes", "Contour", "Crayons", "Dates", "LinearAlgebra", "MarchingCubes", "NaNMath", "PrecompileTools", "Printf", "Requires", "SparseArrays", "StaticArrays", "StatsBase"] -git-tree-sha1 = "9fbe3fb6c4bbe4cafb5ce4d15bbec82f0077e1d5" +git-tree-sha1 = "5e3a9796dfae26edbe5a2cc436b230c86a8ab0c4" uuid = "b8865327-cd53-5732-bb35-84acbb429228" -version = "3.5.2" +version = "3.5.3" [[deps.UnsafeAtomics]] git-tree-sha1 = "6331ac3440856ea1988316b46045303bef658278" @@ -2444,10 +2438,10 @@ uuid = "3161d3a3-bdf6-5164-811a-617609db77b4" version = "1.5.5+0" [[deps.Zygote]] -deps = ["AbstractFFTs", "ChainRules", "ChainRulesCore", "DiffRules", "Distributed", "FillArrays", "ForwardDiff", "GPUArrays", "GPUArraysCore", "IRTools", "InteractiveUtils", "LinearAlgebra", "LogExpFunctions", "MacroTools", "NaNMath", "Random", "Requires", "SnoopPrecompile", "SparseArrays", "SpecialFunctions", "Statistics", "ZygoteRules"] -git-tree-sha1 = "987ae5554ca90e837594a0f30325eeb5e7303d1e" +deps = ["AbstractFFTs", "ChainRules", "ChainRulesCore", "DiffRules", "Distributed", "FillArrays", "ForwardDiff", "GPUArrays", "GPUArraysCore", "IRTools", "InteractiveUtils", "LinearAlgebra", "LogExpFunctions", "MacroTools", "NaNMath", "PrecompileTools", "Random", "Requires", "SparseArrays", "SpecialFunctions", "Statistics", "ZygoteRules"] +git-tree-sha1 = "ebac1ae9f048c669317ad48c9bed815790a468d8" uuid = "e88e6eb3-aa80-5325-afca-941959d7151f" -version = "0.6.60" +version = "0.6.61" [[deps.ZygoteRules]] deps = ["ChainRulesCore", "MacroTools"] diff --git a/notebooks/Project.toml b/notebooks/Project.toml index 14694dc2..b622d9d7 100644 --- a/notebooks/Project.toml +++ b/notebooks/Project.toml @@ -16,6 +16,7 @@ ECCCo = "0232c203-4013-4b0d-ad96-43e3e11ac3bf" Flux = "587475ba-b771-5e3f-ad9e-33799f191a9c" Images = "916415d5-f1e6-5110-898d-aaa5f9f070e0" JointEnergyModels = "48c56d24-211d-4463-bbc0-7a701b291131" +LazyArtifacts = "4af54fe1-eca0-43a8-85a7-787d91b784e3" MLDatasets = "eb30cadb-4394-5ae3-aed4-317e484a6458" MLJBase = "a7f614a8-145f-11e9-1d2a-a57a1082229d" MLJEnsembles = "50ed68f4-41fd-4504-931a-ed422449fee0" diff --git a/notebooks/mnist.qmd b/notebooks/mnist.qmd index afe54d16..b39cee0f 100644 --- a/notebooks/mnist.qmd +++ b/notebooks/mnist.qmd @@ -421,8 +421,6 @@ function _plot_eccco_mnist( plts = [plts..., plt] _count += 1 end - # plts = plts[_plt_order] - # plts = [p1, plts...] plt = Plots.plot(plts...; size=(img_height,img_height)) return plt, eccco_generator, ces @@ -489,7 +487,7 @@ end ``` ```{julia} -_regen_all_digits = true +_regen_all_digits = false if _regen_all_digits function plot_all_digits(rng=123;verbose=true,img_height=180,kwargs...) plts = [] diff --git a/paper/bib.bib b/paper/bib.bib index 2941aca0..daed3cba 100644 --- a/paper/bib.bib +++ b/paper/bib.bib @@ -51,7 +51,7 @@ @InProceedings{altmeyer2023endogenous %% This BibTeX bibliography file was created using BibDesk. %% https://bibdesk.sourceforge.io/ -%% Created for Patrick Altmeyer at 2022-12-13 12:58:22 +0100 +%% Created for Anonymous Author at 2022-12-13 12:58:22 +0100 %% Saved with string encoding Unicode (UTF-8) diff --git a/paper/contents/table-real-world.tex b/paper/contents/table-real-world.tex index d2631979..5d67371f 100644 --- a/paper/contents/table-real-world.tex +++ b/paper/contents/table-real-world.tex @@ -13,7 +13,7 @@ & REVISE & 188.70 ± 26.18*\hphantom{*} & \textbf{255.26 ± 41.50}** & 186.40 ± 28.06\hphantom{*}\hphantom{*} & \textbf{5.34 ± 2.38}**\\ - & Schut & 211.00 ± 27.21\hphantom{*}\hphantom{*} & 286.61 ± 39.85*\hphantom{*} & 200.98 ± 28.49\hphantom{*}\hphantom{*} & 6.50 ± 2.01**\\ + & Schut & 211.62 ± 27.13\hphantom{*}\hphantom{*} & 290.56 ± 40.66*\hphantom{*} & 200.98 ± 28.49\hphantom{*}\hphantom{*} & 6.50 ± 2.01**\\ \multirow{-4}{*}{\raggedright\arraybackslash JEM} & Wachter & 222.90 ± 26.56\hphantom{*}\hphantom{*} & 361.88 ± 39.74\hphantom{*}\hphantom{*} & 214.08 ± 45.35\hphantom{*}\hphantom{*} & 61.04 ± 2.58\hphantom{*}\hphantom{*}\\ \cmidrule{1-6} @@ -21,7 +21,7 @@ & REVISE & 173.59 ± 20.65** & \textbf{246.32 ± 37.46}** & 194.24 ± 35.41\hphantom{*}\hphantom{*} & \textbf{4.95 ± 1.26}**\\ - & Schut & 205.33 ± 24.07\hphantom{*}\hphantom{*} & 287.39 ± 39.33*\hphantom{*} & 208.45 ± 34.60\hphantom{*}\hphantom{*} & 6.12 ± 1.91**\\ + & Schut & 204.36 ± 23.14\hphantom{*}\hphantom{*} & 290.64 ± 39.49*\hphantom{*} & 208.45 ± 34.60\hphantom{*}\hphantom{*} & 6.12 ± 1.91**\\ \multirow{-4}{*}{\raggedright\arraybackslash JEM Ensemble} & Wachter & 217.67 ± 23.78\hphantom{*}\hphantom{*} & 363.23 ± 39.24\hphantom{*}\hphantom{*} & 186.19 ± 33.88\hphantom{*}\hphantom{*} & 60.70 ± 44.32\hphantom{*}\hphantom{*}\\ \cmidrule{1-6} @@ -29,7 +29,7 @@ & REVISE & 365.82 ± 15.35*\hphantom{*} & \textbf{249.49 ± 41.55}** & 196.75 ± 41.25\hphantom{*}\hphantom{*} & \textbf{4.84 ± 0.60}**\\ - & Schut & 382.44 ± 17.81\hphantom{*}\hphantom{*} & 285.98 ± 42.48*\hphantom{*} & 212.00 ± 41.15\hphantom{*}\hphantom{*} & 6.44 ± 1.34**\\ + & Schut & 379.66 ± 17.16\hphantom{*}\hphantom{*} & 290.07 ± 42.65*\hphantom{*} & 212.00 ± 41.15\hphantom{*}\hphantom{*} & 6.44 ± 1.34**\\ \multirow{-4}{*}{\raggedright\arraybackslash MLP} & Wachter & 386.05 ± 16.60\hphantom{*}\hphantom{*} & 361.83 ± 42.18\hphantom{*}\hphantom{*} & 218.34 ± 53.26\hphantom{*}\hphantom{*} & 45.84 ± 39.39\hphantom{*}\hphantom{*}\\ \cmidrule{1-6} @@ -37,7 +37,7 @@ & REVISE & 337.74 ± 11.89*\hphantom{*} & \textbf{247.67 ± 38.36}** & 207.21 ± 43.20\hphantom{*}\hphantom{*} & \textbf{5.78 ± 2.10}**\\ - & Schut & 359.54 ± 14.52\hphantom{*}\hphantom{*} & 283.99 ± 41.08*\hphantom{*} & 205.36 ± 32.11\hphantom{*}\hphantom{*} & 7.00 ± 2.15**\\ + & Schut & 354.80 ± 13.05\hphantom{*}\hphantom{*} & 285.79 ± 41.33*\hphantom{*} & 205.36 ± 32.11\hphantom{*}\hphantom{*} & 7.00 ± 2.15**\\ \multirow{-4}{*}{\raggedright\arraybackslash MLP Ensemble} & Wachter & 360.79 ± 14.39\hphantom{*}\hphantom{*} & 357.73 ± 42.55\hphantom{*}\hphantom{*} & 213.71 ± 54.17\hphantom{*}\hphantom{*} & 73.09 ± 64.50\hphantom{*}\hphantom{*}\\ \bottomrule diff --git a/paper/feedback.md b/paper/feedback.md deleted file mode 100644 index 6a8fb00d..00000000 --- a/paper/feedback.md +++ /dev/null @@ -1,2 +0,0 @@ -- don't understand why last two paragraphs of the results section are scratched through, they seem important to me -- \ No newline at end of file diff --git a/paper/paper.pdf b/paper/paper.pdf index 5e1c3ebd..ff976401 100644 Binary files a/paper/paper.pdf and b/paper/paper.pdf differ diff --git a/paper/paper.tex b/paper/paper.tex index 08ac7b97..58c9610b 100644 --- a/paper/paper.tex +++ b/paper/paper.tex @@ -69,26 +69,17 @@ \author{% - Patrick Altmeyer\thanks{See also: https://www.paltmeyer.com/} \\ - Faculty of Electrical Engineering, Mathematics and Computer Science\\ - Delft University of Technology\\ - 2628 XE Delft, The Netherlands \\ - \texttt{p.altmeyer@tudelft.nl} \\ + Anonymous Author\thanks{See also: } \\ + Faculty \\ + University \\ + Address \\ + \texttt{email} \\ \And - Mojtaba Farmanbar \\ - ING Netherlands \\ - 1102 CT Amsterdam, The Netherlands \\ - \texttt{mojtaba.farmanbar@ing.com} \\ - \AND - Arie van Deursen \\ - Delft University of Technology\\ - 2628 XE Delft, The Netherlands \\ - \texttt{arie.vandeursen@tudelft.nl} \\ - \And - Cynthia C. S. Liem \\ - Delft University of Technology\\ - 2628 XE Delft, The Netherlands \\ - \texttt{c.c.s.liem@tudelft.nl} \\ + Anonymous Author\thanks{See also: } \\ + Faculty \\ + University \\ + Address \\ + \texttt{email} \\ } diff --git a/paper/submission.md b/paper/submission.md deleted file mode 100644 index 011ee494..00000000 --- a/paper/submission.md +++ /dev/null @@ -1,45 +0,0 @@ - -**Title**: ECCCos from the Black Box: Faithful Explanations through Energy-Constrained Conformal Counterfactuals - -**Keywords**: Explainable AI, Counterfactual Explanations, Algorithmic Recourse, Energy-Based Models, Conformal Prediction - -**Abstract**: Counterfactual Explanations offer an intuitive and straightforward way to explain black-box models and offer Algorithmic Recourse to individuals. To address the need for plausible explanations, existing work has primarily relied on surrogate models to learn how the input data is distributed. This effectively reallocates the task of learning realistic explanations for the data from the model itself to the surrogate. Consequently, the generated explanations may seem plausible to humans but need not necessarily describe the behaviour of the black-box model faithfully. We formalise this notion of faithfulness through the introduction of a tailored evaluation metric and propose a novel algorithmic framework for generating **E**nergy-**C**onstrained **C**onformal **Co**unterfactuals (ECCCos) that are only as plausible as the model permits. Through extensive empirical studies, we demonstrate that ECCCos reconcile the need for faithfulness and plausibility. In particular, we show that for models with gradient access, it is possible to achieve state-of-the-art performance without the need for surrogate models. To do so, our framework relies solely on properties defining the black-box model itself by leveraging recent advances in Energy-Based Modelling and Conformal Prediction. To our knowledge, this is the first venture in this direction for generating faithful Counterfactual Explanations. Thus, we anticipate that ECCCos can serve as a baseline for future research. We believe that our work opens avenues for researchers and practitioners seeking tools to better distinguish trustworthy from unreliable models. - -**Corresponding Author**: p.altmeyer@tudelft.nl - -**Revier Nomination**: Arie.vanDeursen@tudelft.nl - -**Primary Area**: Interpretability and Explainability - -**Claims**: Yes - -**Code of Ethics**: Yes - -**Broader Impacts**: A narrow focus on generating plausible counterfactuals may lead practitioners and researchers to believe that even a highly vulnerable black-box model has learned plausible data representations. Our work aims to mitigate this. - -**Limitations**: Yes - -**Theory**: While we do not include any theoretical results in terms of formal proofs, we have approached the topic of Counterfactual Explanations from a new theoretical angle in this work. Where necessary we have clearly stated our assumptions. - -**Experiments**: Yes - -**Training Details**: Yes - -**Error Bars**: Yes - -**Compute**: All of our experiments could be run locally on a personal machine. We will provide details regarding training times and compute in the supplementary material. - -**Reproducibility**: Yes - -**Safeguards**: n/a - -**Licenses**: Yes - -**Assets**: Yes - -**Human Subjects**: n/a - -**IRB Approvals**: n/a - -**TLDR**: We leverage ideas from Energy-Based Modelling and Conformal Prediction to generate faithful Counterfactual Explanations that can distinguish trustworthy from unreliable models. - diff --git a/test-project/test-utils-no-lc.sh b/test-project/test-utils-no-lc.sh deleted file mode 100644 index 4b3a5cde..00000000 --- a/test-project/test-utils-no-lc.sh +++ /dev/null @@ -1,149 +0,0 @@ -#!/bin/bash -SCRIPT_FOLDER="$(cd "$(dirname $0)" && pwd)" -USERNAME=${1:-vscode} - -if [ -z $HOME ]; then - HOME="/root" -fi - -FAILED=() - -echoStderr() -{ - echo "$@" 1>&2 -} - -check() { - LABEL=$1 - shift - echo -e "\n🧪 Testing $LABEL" - if "$@"; then - echo "✅ Passed!" - return 0 - else - echoStderr "❌ $LABEL check failed." - FAILED+=("$LABEL") - return 1 - fi -} - -checkMultiple() { - PASSED=0 - LABEL="$1" - echo -e "\n🧪 Testing $LABEL." - shift; MINIMUMPASSED=$1 - shift; EXPRESSION="$1" - while [ "$EXPRESSION" != "" ]; do - if $EXPRESSION; then ((PASSED++)); fi - shift; EXPRESSION=$1 - done - if [ $PASSED -ge $MINIMUMPASSED ]; then - echo "✅ Passed!" - return 0 - else - echoStderr "❌ $LABEL check failed." - FAILED+=("$LABEL") - return 1 - fi -} - -checkOSPackages() { - LABEL=$1 - shift - echo -e "\n🧪 Testing $LABEL" - if dpkg-query --show -f='${Package}: ${Version}\n' "$@"; then - echo "✅ Passed!" - return 0 - else - echoStderr "❌ $LABEL check failed." - FAILED+=("$LABEL") - return 1 - fi -} - -checkExtension() { - # Happens asynchronusly, so keep retrying 10 times with an increasing delay - EXTN_ID="$1" - TIMEOUT_SECONDS="${2:-10}" - RETRY_COUNT=0 - echo -e -n "\n🧪 Looking for extension $1 for maximum of ${TIMEOUT_SECONDS}s" - until [ "${RETRY_COUNT}" -eq "${TIMEOUT_SECONDS}" ] || \ - [ ! -e $HOME/.vscode-server/extensions/${EXTN_ID}* ] || \ - [ ! -e $HOME/.vscode-server-insiders/extensions/${EXTN_ID}* ] || \ - [ ! -e $HOME/.vscode-test-server/extensions/${EXTN_ID}* ] || \ - [ ! -e $HOME/.vscode-remote/extensions/${EXTN_ID}* ] - do - sleep 1s - (( RETRY_COUNT++ )) - echo -n "." - done - - if [ ${RETRY_COUNT} -lt ${TIMEOUT_SECONDS} ]; then - echo -e "\n✅ Passed!" - return 0 - else - echoStderr -e "\n❌ Extension $EXTN_ID not found." - FAILED+=("$LABEL") - return 1 - fi -} - -checkCommon() -{ - PACKAGE_LIST="apt-utils \ - git \ - openssh-client \ - less \ - iproute2 \ - procps \ - curl \ - wget \ - unzip \ - nano \ - jq \ - lsb-release \ - ca-certificates \ - apt-transport-https \ - dialog \ - gnupg2 \ - libc6 \ - libgcc1 \ - libgssapi-krb5-2 \ - liblttng-ust0 \ - libstdc++6 \ - zlib1g \ - locales \ - sudo" - - # Actual tests - checkOSPackages "common-os-packages" ${PACKAGE_LIST} - checkMultiple "vscode-server" 1 "[ -d $HOME/.vscode-server/bin ]" "[ -d $HOME/.vscode-server-insiders/bin ]" "[ -d $HOME/.vscode-test-server/bin ]" "[ -d $HOME/.vscode-remote/bin ]" "[ -d $HOME/.vscode-remote/bin ]" - check "non-root-user" id ${USERNAME} - check "locale" [ $(locale -a | grep en_US.utf8) ] - check "sudo" sudo echo "sudo works." - check "zsh" zsh --version - check "oh-my-zsh" [ -d "$HOME/.oh-my-zsh" ] - #check "login-shell-path" [ -f "/etc/profile.d/00-restore-env.sh" ] - check "code" which code -} - -reportResults() { - if [ ${#FAILED[@]} -ne 0 ]; then - echoStderr -e "\n💥 Failed tests: ${FAILED[@]}" - exit 1 - else - echo -e "\n💯 All passed!" - exit 0 - fi -} - -fixTestProjectFolderPrivs() { - if [ "${USERNAME}" != "root" ]; then - TEST_PROJECT_FOLDER="${1:-$SCRIPT_FOLDER}" - FOLDER_USER="$(stat -c '%U' "${TEST_PROJECT_FOLDER}")" - if [ "${FOLDER_USER}" != "${USERNAME}" ]; then - echoStderr "WARNING: Test project folder is owned by ${FOLDER_USER}. Updating to ${USERNAME}." - sudo chown -R ${USERNAME} "${TEST_PROJECT_FOLDER}" - fi - fi -} \ No newline at end of file diff --git a/test-project/test.sh b/test-project/test.sh deleted file mode 100644 index b02d1589..00000000 --- a/test-project/test.sh +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/bash -cd $(dirname "$0") - -source test-utils-no-lc.sh vscode - -# Run common tests -checkCommon - -# Definition specific tests -checkExtension "julialang.language-julia" -check "julia" julia --version - -# Report result -reportResults