maths.joint_probability_distribution ==================================== .. py:module:: maths.joint_probability_distribution .. autoapi-nested-parse:: Calculate joint probability distribution https://en.wikipedia.org/wiki/Joint_probability_distribution Attributes ---------- .. autoapisummary:: maths.joint_probability_distribution.x_vals Functions --------- .. autoapisummary:: maths.joint_probability_distribution.covariance maths.joint_probability_distribution.expectation maths.joint_probability_distribution.joint_probability_distribution maths.joint_probability_distribution.standard_deviation maths.joint_probability_distribution.variance Module Contents --------------- .. py:function:: covariance(x_values: list[int], y_values: list[int], x_probabilities: list[float], y_probabilities: list[float]) -> float >>> covariance([1, 2], [-2, 5, 8], [0.7, 0.3], [0.3, 0.5, 0.2]) -2.7755575615628914e-17 .. py:function:: expectation(values: list, probabilities: list) -> float >>> from math import isclose >>> isclose(expectation([1, 2], [0.7, 0.3]), 1.3) True .. py:function:: joint_probability_distribution(x_values: list[int], y_values: list[int], x_probabilities: list[float], y_probabilities: list[float]) -> dict >>> joint_distribution = joint_probability_distribution( ... [1, 2], [-2, 5, 8], [0.7, 0.3], [0.3, 0.5, 0.2] ... ) >>> from math import isclose >>> isclose(joint_distribution.pop((1, 8)), 0.14) True >>> joint_distribution {(1, -2): 0.21, (1, 5): 0.35, (2, -2): 0.09, (2, 5): 0.15, (2, 8): 0.06} .. py:function:: standard_deviation(variance: float) -> float >>> standard_deviation(0.21) 0.458257569495584 .. py:function:: variance(values: list[int], probabilities: list[float]) -> float >>> from math import isclose >>> isclose(variance([1,2],[0.7,0.3]), 0.21) True .. py:data:: x_vals