Commit Graph

521 Commits

Author SHA1 Message Date
Ozzie Gooen
c326d0b229 More cleaning 2022-05-19 18:09:37 -04:00
Ozzie Gooen
4b07226b45 Continuing cleanup of FunctionRegistry 2022-05-19 17:04:31 -04:00
Ozzie Gooen
58f1789cfe Refactored Normal and Lognormal functions 2022-05-19 15:12:36 -04:00
Umur Ozkul
a51e4be528 format 2022-05-19 20:25:18 +02:00
Umur Ozkul
57c2fba791 "credibleIntervalToDistribution" 2022-05-19 20:20:14 +02:00
Umur Ozkul
516627629f attempt to resolve "credibleIntervalToDistribution" 2022-05-19 20:12:46 +02:00
Umur Ozkul
986e7c744b pegjs->peggy 2022-05-19 19:10:14 +02:00
Umur Ozkul
749fba2877 pr fixes 2022-05-19 19:08:40 +02:00
Umur Ozkul
c496ae5cdd multi-line tests 2022-05-19 18:19:09 +02:00
Umur Ozkul
f547db9d0a multi line problem due to block and lambda ambiguity 2022-05-19 16:35:12 +02:00
Ozzie Gooen
50a5ef2498 Touchups for FunctionRegistry distTwo 2022-05-19 09:25:34 -04:00
Umur Ozkul
7b5fd2b101 Merge branch 'develop' into reducer-dev 2022-05-19 01:28:37 +02:00
Umur Ozkul
db050668d1 parser
toFunction

additive multiplicative

compact

whitespace

pow

relational equality

boolean

whitespace separator

left associative operators

expression

not

identifier

function call

array constructor

string

indexed values

ident

priority

block

outerBlock

optional final expression

statement separator

outerBlock

innerBlock

better errors

note xor

white space and record

unary minus

inner/outer block

statement

lambda

sort

lambda is a value constructor

lambdaCall

ternary

ternary

basicValue

cleanup

quotes

chained Functions

dot operators

unify unary operators

unify unary operatos

notes

notes

notes

notes

parser

priorities set

white space or newline defined

allow newlines

notes

function call has become a post operator

recordElement

recursive index

postOperatorToFunction

better integer

comments

notes

record priority

comment

atom

finalComment

generated parser

type cast

format

initiate test file

test initiated; todo nodeCall; nodeExpression

callIdentifier

recover extra

initiate testing

initial tests pass

tests pass

remove function node

ternary

test parse passed

to

tests pass

notes

sort

toExpression

format

notes

remove unused modules

remove unnecessary nodeLambdaCall

notes

note

fix construct array

comment test

todo

elixir pipe

fix toString

notes

initial to expression test

value test

parsing records

records

comments

ternary

ifthenelse

inner block passed

inner block

lambda

lambda

new parser tested

now test tricks

ternary in expression

to test lambda as argument

to test lambda in structures

Use peggy Parser

expectEvalError

macros tested

remove mathjs parse

reducer test

comparison operator
2022-05-19 01:23:43 +02:00
Ozzie Gooen
80a6c56efc Merge branch 'develop' into functionRegistry
* develop:
  ⬆️ Bump @types/node from 17.0.33 to 17.0.34
  ⬆️ Bump @babel/plugin-proposal-private-property-in-object
  Cleanup to samplesMap() code
  Cleanup and addition of toInternalSampleArray
  First simple version of samplesMap
2022-05-18 19:10:44 -04:00
Ozzie Gooen
69d962ce75 Wip, working on allowing distributions in normal 2022-05-18 19:10:34 -04:00
Ozzie Gooen
76bbfb2ef1 Added lognormal fn definitions 2022-05-18 18:42:28 -04:00
Ozzie Gooen
88ae0e25b4 Simple experiment of it working 2022-05-18 18:25:32 -04:00
Ozzie Gooen
b67c90eb06 Cleaned up FunctionRegistry to use Match type 2022-05-18 17:27:36 -04:00
Ozzie Gooen
f7f94cbcb1 First part of cleanup 2022-05-18 16:49:22 -04:00
Ozzie Gooen
c1de95b39a Added simple registry module 2022-05-18 16:22:11 -04:00
Ozzie Gooen
3085805a4d Experiment with function registry for normal distribution 2022-05-17 21:16:26 -04:00
Ozzie Gooen
f30de20c8d Refactored match() code 2022-05-17 20:45:32 -04:00
Ozzie Gooen
e0f4809ad7 Function registry first attempt 2022-05-17 18:54:31 -04:00
Ozzie Gooen
ab88b0d012 Merged with develop 2022-05-16 20:14:29 -04:00
Ozzie Gooen
eafdfdc7b7 Cleanup to samplesMap() code 2022-05-16 20:11:38 -04:00
Quinn Dougherty
9e7319ed57 More substantial CR; more named args
Value: [1e-6 to 1e-2]
2022-05-16 18:06:14 -04:00
Quinn Dougherty
1d2bb556de Minor CR comments
Value: [1e-6 to 1e-3]
2022-05-16 15:39:40 -04:00
Quinn Dougherty
81b2c74ac8 klDivergence with prior
Value: [1e-4 to 5e-23]
2022-05-16 13:18:01 -04:00
Quinn Dougherty
d00b82807c Merge remote-tracking branch 'origin/develop' into score-dist-on-scalar-resolution 2022-05-16 12:06:46 -04:00
Quinn Dougherty
3c3c88fb7b ...Resolution => ..Answer 2022-05-16 12:06:21 -04:00
Quinn Dougherty
30ab62e9b8 backed out of mutually recursive dispatch
Value: [1e-5 to 1e-3]
2022-05-16 12:03:37 -04:00
Ozzie Gooen
606f24ff24 Cleanup and addition of toInternalSampleArray 2022-05-15 21:34:36 -04:00
Ozzie Gooen
e0f505c8ea Add logistic distribution 2022-05-15 21:10:13 -04:00
Ozzie Gooen
432e5b9bca Formatted code 2022-05-15 19:42:43 -04:00
Ozzie Gooen
6156ae65d1 Cleanup 2022-05-15 19:42:10 -04:00
Ozzie Gooen
7216f8079f First attempt at adding bernoulli 2022-05-15 18:27:25 -04:00
Ozzie Gooen
15965b0b05 First simple version of samplesMap 2022-05-15 17:24:54 -04:00
Ozzie Gooen
4676026aa0 Ran formatter 2022-05-15 10:58:29 -04:00
Ozzie Gooen
47d7ef49cf Merged with master 2022-05-15 10:54:16 -04:00
Ozzie Gooen
b2b51c8f46 Added sampleN to interface 2022-05-15 10:52:35 -04:00
Quinn Dougherty
8710248a22 Merge remote-tracking branch 'origin/develop' into score-dist-on-scalar-resolution 2022-05-13 16:41:00 -04:00
Sam Nolan
95d0212ffc Remove redundant defaultEnv 2022-05-13 20:23:41 +00:00
Sam Nolan
80e05ea5be Pass environment down to GenericDist 2022-05-13 20:16:52 +00:00
Quinn Dougherty
bdbb86aa9e logScore on records now interprets almost every which way we're
interested in

Value: [1e-3 to 9e-1]
2022-05-13 16:15:04 -04:00
Quinn Dougherty
b4a1137019 Implemented correct math underlying logScoreWithPointResolution
Value: [1e-2 to 7e-1]

Realized that I need to switch argument order, put `prior` last maybe.
2022-05-13 15:43:59 -04:00
Quinn Dougherty
3eef57f855 proof of concept for records as arguments
Value: [1e-3 to 8e-1]
2022-05-13 13:18:52 -04:00
Quinn Dougherty
2ab395b4e5 Some minor CR
Value: [1e-10 to 1e-4]
2022-05-12 16:03:29 -04:00
Quinn Dougherty
65751e590a Fixed logScoreAgainstImproperPrior by finding how it was None
Value: [1e-4 to 8e-2]
2022-05-12 15:26:51 -04:00
Quinn Dougherty
51310819a1 logScore now in interface.
Value: [1e-4 to 1e-1]
2022-05-12 14:16:52 -04:00
Quinn Dougherty
978e149913 Initialized logScore and logScoreAgainstImproperPrior
Value: [1e-5 to 6e-3]
2022-05-12 13:11:51 -04:00
Quinn Dougherty
eee9a46c37 Improved comment for enrich
Value: [1e-9 to 1e-6]
2022-05-12 11:16:51 -04:00
Quinn Dougherty
f5e3701a79 Clean up for CR
Value: [1e-7 to 43-4]
2022-05-12 09:51:20 -04:00
Quinn Dougherty
26afc96495 Tests are as good as I can get them
Value: [1e-4 to 1e-2]
2022-05-11 15:12:36 -04:00
Sam Nolan
b2a972605d (rebase): Function charting 2022-05-11 14:19:36 -04:00
5c9f57a24a fix: Attain parity with previous implementation
This is achieved by not adding more points in between i
the points are already pretty close
2022-05-11 12:56:56 -04:00
599c14b32c tweak: Pass off to Quinn 2022-05-11 12:39:03 -04:00
4df4597ed3 fix: "Enrich" (add more x points) when integrating
in order to get more numerical precision.
Note: not complete yet.

Value: [1e-3 to 3e-1]
2022-05-11 12:23:36 -04:00
Quinn Dougherty
0b8da034c6 klDivergence on mixed distributions works for one test case
Value: [1e-4 to 5e-2]
2022-05-10 19:59:50 -04:00
Ozzie Gooen
3cca106079
Merge pull request #504 from quantified-uncertainty/function-charts
Function charting
2022-05-10 18:57:18 -04:00
Quinn Dougherty
b7e18b4f9d Simplified tree in squiggle-lang/src/rescript/Distributions
Value: [1e-8 to 1e-4]
2022-05-10 16:43:37 -04:00
Quinn Dougherty
465383205a Fixed lint
Value: [1e-10 to 1e-6]
2022-05-10 16:34:03 -04:00
Quinn Dougherty
216ede45b2 Fixed Bisect
Value: [1e-5 to 1e-3]
2022-05-10 16:27:34 -04:00
Quinn Dougherty
f7690c33e0 Some cleanup
Value: [1e-4 to 1e-2]
2022-05-10 11:56:13 -04:00
Sam Nolan
e058e315ad Function charting 2022-05-10 15:52:13 +00:00
Quinn Dougherty
15f1ebb429 KLDivergence on discretes is passing
Value: [1e-3 to 2e-1]
2022-05-10 11:27:59 -04:00
Quinn Dougherty
ccd55ef8f1 good evening, not working yet, but out of time for the night
Value: [1e-6 to 1e-4]
2022-05-09 19:17:27 -04:00
Quinn Dougherty
b2d80eef86 Removed negative infinity error handling
Value: [1e-5 to 1e-3]
2022-05-09 18:28:35 -04:00
Quinn Dougherty
59edd7122e wrapped error in function
Value: [1e-5 to 1e-3]
2022-05-09 15:24:46 -04:00
Quinn Dougherty
814a5f2c58 mx polymorphism
Value: [1e-3 to 2e-2]
2022-05-09 15:19:56 -04:00
Quinn Dougherty
06352357a2 response to CR
Value: [1e-5 to 5e-3]
2022-05-09 11:14:33 -04:00
Quinn Dougherty
28cb6b9c88 Final cleanup, but typescript is still borked
Value: [1e-8 to 1e-6]
2022-05-06 15:09:00 -04:00
Quinn Dougherty
722bfc6366 All three tests pass
- `uniform` `toPointSet` method has been changed for numerical
stability.

Value: [1e-1 to 1.75e0]
2022-05-06 13:58:15 -04:00
d9a40c973a feat: Get KL divergence working except in case of numerical errors ()
- Quinn was of great help here.
- I also left some dead code, which still has to be cleaned up
- There are still very annoying numerical errors, so I left one test
failing. These are due to how the interpolation is done
- Quinn to pick up from here

Value: [0.6 to 2]
2022-05-06 12:26:51 -04:00
5dd272fb0c tweak: Add tests for combineAlongSupportOfSecondArgument 2022-05-06 11:45:11 -04:00
cc3db79a2a feat: kl function but no dealing with errors yet 2022-05-06 10:49:04 -04:00
b393af8762 tweak: start building new function from scratch 2022-05-06 10:04:41 -04:00
87d6f8d4f6 fix: change integrand check order in KL divergence code 2022-05-06 09:49:42 -04:00
Quinn Dougherty
fd17da83b8 Merge remote-tracking branch 'origin/develop' into log-score-attempt 2022-05-05 20:42:39 -04:00
Quinn Dougherty
38d1c7aa61 Cleanup with option<(float, float, float)>
Value: [1e-5 to 1e-3]
2022-05-05 20:42:05 -04:00
Quinn Dougherty
dcf56d7bc6 combineAlongSupportOfSecondArgument implemented, tests still failing
Value: [1e-4 to 4e-2]
2022-05-05 20:02:12 -04:00
Quinn Dougherty
b49865d3aa progress on klDivergence (still working)
Value: [1e-5 to 1e-2]
2022-05-05 15:37:28 -04:00
Umur Ozkul
99f54f596c ternary operator (tested) 2022-05-04 22:36:34 +02:00
Umur Ozkul
888b615445 Merge branch 'reducer-dev-F-ifthenelse' into ternary
packages/squiggle-lang/src/rescript/Reducer/Reducer_Dispatch/Reducer_Dispatch_BuiltInMacros.res
packages/squiggle-lang/src/rescript/Reducer/Reducer_Expression/Reducer_Expression.res
packages/squiggle-lang/src/rescript/Reducer/Reducer_Expression/Reducer_Expression_Builder.res
packages/squiggle-lang/src/rescript/Reducer/Reducer_MathJs/Reducer_MathJs_ToExpression.res
2022-05-04 21:51:15 +02:00
Quinn Dougherty
6211d3cfb0 Some sorta klDivergence conclusion
Value: [1e-6 to 1e-3]
2022-05-04 14:55:49 -04:00
Umur Ozkul
85b8333a09 Merge branch 'develop' into Umur-reducer-dev 2022-05-04 20:45:48 +02:00
Umur Ozkul
ad220ed2b4 foreign function interface 2022-05-04 20:44:46 +02:00
Quinn Dougherty
898547f3a3 klDivergence is now LogarithmWithThreshold 2022-05-04 13:53:32 -04:00
Quinn Dougherty
cfa83e552d Merge remote-tracking branch 'origin/develop' into log-score-attempt 2022-05-04 13:05:40 -04:00
Quinn Dougherty
c95c56cfb8 Added logScaleWithThreshold(eps) and completed renaming to
`klDivergence`

Value: [1e-5 to 1e-3]
2022-05-04 13:02:58 -04:00
Ozzie Gooen
268f138dcf
Merge pull request #478 from quantified-uncertainty/reducer-dev
Reducer dev: map, reduce, reduceReverse, keep
2022-05-04 12:27:03 -04:00
Quinn Dougherty
236be470d5 Merge remote-tracking branch 'origin/develop' into log-score-attempt 2022-05-04 12:22:33 -04:00
Quinn Dougherty
3fcc82442d Completed renaming to KLDivergence
Value: [1e-8 to 1e-4]
2022-05-04 12:21:30 -04:00
Quinn Dougherty
683439c7e5 Changed Ok(0) to Error(NegativeInfinityError).
Value: [1e-7 to 1e-5]
2022-05-04 11:59:46 -04:00
Quinn Dougherty
32f141abdc Renamed LogScoring to KLDivergence
Value: [1e-7 to 1e-4]
2022-05-04 11:54:23 -04:00
Sam Nolan
930c2d2b67 Add Gamma distribution 2022-05-04 15:53:41 +00:00
Quinn Dougherty
627616558a Made multiplicative factor in Scoring file rather than with bind
calls

Value: [1e-5 to 7.5e-4]
2022-05-04 11:48:20 -04:00
Quinn Dougherty
f5f5be2cfb ?? build broke, had to add a ModuleName. prefix to a constructor
Value: [1e-7 to 1e-5]
2022-05-04 11:43:44 -04:00
Umur Ozkul
ea465c6047 Merge branch 'develop' into Umur-reducer-dev 2022-05-04 17:35:03 +02:00
Umur Ozkul
5de6aa8e0d map reduce reduceReverse reverse keep 2022-05-04 17:32:25 +02:00
Umur Ozkul
ae48bd6420 pass reducer to dispatch
to define functions that has lambda arguments, dispatching requires a
reducer
2022-05-04 15:33:51 +02:00