added user specific metrics
This commit is contained in:
BIN
Binary file not shown.
|
After Width: | Height: | Size: 123 KiB |
+132
@@ -0,0 +1,132 @@
|
||||
<mxfile host="app.diagrams.net" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36" version="28.0.7">
|
||||
<diagram name="Page-1" id="PlemIjn8Fl2o5CNH3s3k">
|
||||
<mxGraphModel dx="1177" dy="772" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="1100" math="0" shadow="0">
|
||||
<root>
|
||||
<mxCell id="0" />
|
||||
<mxCell id="1" parent="0" />
|
||||
<mxCell id="-91SqtgMbv2aO-WyCwji-15" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="-91SqtgMbv2aO-WyCwji-5" target="-91SqtgMbv2aO-WyCwji-20">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="140" y="590" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="-91SqtgMbv2aO-WyCwji-16" value="No" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=16;" vertex="1" connectable="0" parent="-91SqtgMbv2aO-WyCwji-15">
|
||||
<mxGeometry x="-0.4862" y="-2" relative="1" as="geometry">
|
||||
<mxPoint x="42" y="2" as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="-91SqtgMbv2aO-WyCwji-21" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" edge="1" parent="1" source="-91SqtgMbv2aO-WyCwji-5" target="-91SqtgMbv2aO-WyCwji-18">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="-91SqtgMbv2aO-WyCwji-23" value="Yes" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=16;" vertex="1" connectable="0" parent="-91SqtgMbv2aO-WyCwji-21">
|
||||
<mxGeometry x="-0.6517" y="-2" relative="1" as="geometry">
|
||||
<mxPoint x="51" y="-2" as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="-91SqtgMbv2aO-WyCwji-5" value="Would<div>have</div><div>Sex?</div>" style="rhombus;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="260" y="270" width="100" height="100" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="-91SqtgMbv2aO-WyCwji-13" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="-91SqtgMbv2aO-WyCwji-53" target="-91SqtgMbv2aO-WyCwji-5">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="310" y="230" as="sourcePoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="-91SqtgMbv2aO-WyCwji-27" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="-91SqtgMbv2aO-WyCwji-18" target="-91SqtgMbv2aO-WyCwji-31">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="340" y="470" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="-91SqtgMbv2aO-WyCwji-29" value="Yes" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=16;" vertex="1" connectable="0" parent="-91SqtgMbv2aO-WyCwji-27">
|
||||
<mxGeometry x="-0.0491" y="2" relative="1" as="geometry">
|
||||
<mxPoint as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="-91SqtgMbv2aO-WyCwji-44" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="-91SqtgMbv2aO-WyCwji-18" target="-91SqtgMbv2aO-WyCwji-50">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="700.0344827586207" y="520" as="targetPoint" />
|
||||
<Array as="points">
|
||||
<mxPoint x="720" y="450" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="-91SqtgMbv2aO-WyCwji-52" value="No" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=16;" vertex="1" connectable="0" parent="-91SqtgMbv2aO-WyCwji-44">
|
||||
<mxGeometry x="-0.4528" relative="1" as="geometry">
|
||||
<mxPoint as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="-91SqtgMbv2aO-WyCwji-18" value="Predicted Fertiltiy &gt; Threshold" style="rhombus;whiteSpace=wrap;html=1;spacingTop=11;" vertex="1" parent="1">
|
||||
<mxGeometry x="490" y="390" width="120" height="120" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="-91SqtgMbv2aO-WyCwji-20" value="<font color="#121212"><span>No Sex</span></font>" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="20" y="700" width="120" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="-91SqtgMbv2aO-WyCwji-26" value="Correct Denial" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="170" y="700" width="120" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="-91SqtgMbv2aO-WyCwji-33" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="-91SqtgMbv2aO-WyCwji-31" target="-91SqtgMbv2aO-WyCwji-26">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<Array as="points">
|
||||
<mxPoint x="310" y="560" />
|
||||
<mxPoint x="230" y="560" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="-91SqtgMbv2aO-WyCwji-36" value="No" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=16;" vertex="1" connectable="0" parent="-91SqtgMbv2aO-WyCwji-33">
|
||||
<mxGeometry x="0.1239" y="1" relative="1" as="geometry">
|
||||
<mxPoint x="-1" y="68" as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="-91SqtgMbv2aO-WyCwji-34" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="-91SqtgMbv2aO-WyCwji-31" target="-91SqtgMbv2aO-WyCwji-32">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<Array as="points">
|
||||
<mxPoint x="310" y="560" />
|
||||
<mxPoint x="390" y="560" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="-91SqtgMbv2aO-WyCwji-38" value="<font style="font-size: 16px;">Yes</font>" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="-91SqtgMbv2aO-WyCwji-34">
|
||||
<mxGeometry x="-0.1408" y="-1" relative="1" as="geometry">
|
||||
<mxPoint x="14" y="89" as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="-91SqtgMbv2aO-WyCwji-31" value="Actual Fertility &lt; Threshold" style="rhombus;whiteSpace=wrap;html=1;spacingTop=8;" vertex="1" parent="1">
|
||||
<mxGeometry x="250" y="390" width="120" height="120" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="-91SqtgMbv2aO-WyCwji-32" value="Incorrect Denial" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="330" y="700" width="120" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="-91SqtgMbv2aO-WyCwji-41" value="Pregnancy" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="480" y="700" width="120" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="-91SqtgMbv2aO-WyCwji-47" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="-91SqtgMbv2aO-WyCwji-50" target="-91SqtgMbv2aO-WyCwji-41">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="640" y="550" as="sourcePoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="-91SqtgMbv2aO-WyCwji-49" value="(X &lt;= P)" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=17;" vertex="1" connectable="0" parent="-91SqtgMbv2aO-WyCwji-47">
|
||||
<mxGeometry x="0.0505" y="1" relative="1" as="geometry">
|
||||
<mxPoint x="-1" y="73" as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="-91SqtgMbv2aO-WyCwji-48" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="-91SqtgMbv2aO-WyCwji-50" target="-91SqtgMbv2aO-WyCwji-46">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="700.0344827586207" y="580" as="sourcePoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="-91SqtgMbv2aO-WyCwji-51" value="(X &gt; P)" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=16;" vertex="1" connectable="0" parent="-91SqtgMbv2aO-WyCwji-48">
|
||||
<mxGeometry x="-0.1219" y="1" relative="1" as="geometry">
|
||||
<mxPoint as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="-91SqtgMbv2aO-WyCwji-46" value="No Pregnancy" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="660" y="700" width="120" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="-91SqtgMbv2aO-WyCwji-50" value="<span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: center; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;">Actual Fertility as&nbsp;</span><div style="forced-color-adjust: none; font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: center; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; box-shadow: none !important;">Probability P</div>" style="rhombus;whiteSpace=wrap;html=1;fontColor=default;labelBackgroundColor=none;spacingTop=5;" vertex="1" parent="1">
|
||||
<mxGeometry x="660" y="500" width="120" height="120" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="-91SqtgMbv2aO-WyCwji-53" value="Sample User" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="250" y="180" width="120" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
</root>
|
||||
</mxGraphModel>
|
||||
</diagram>
|
||||
</mxfile>
|
||||
+111
@@ -0,0 +1,111 @@
|
||||
<mxfile host="app.diagrams.net" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36" version="28.0.7">
|
||||
<diagram name="Page-1" id="UWC5B8n8PBnU2zgIg5ZY">
|
||||
<mxGraphModel dx="1118" dy="733" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="1100" math="0" shadow="0">
|
||||
<root>
|
||||
<mxCell id="0" />
|
||||
<mxCell id="1" parent="0" />
|
||||
<mxCell id="WKEbJVpTUuC8SgsnX6qr-3" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="WKEbJVpTUuC8SgsnX6qr-1" target="WKEbJVpTUuC8SgsnX6qr-2">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="WKEbJVpTUuC8SgsnX6qr-1" value="Sample User" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="240" y="80" width="120" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="WKEbJVpTUuC8SgsnX6qr-17" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="WKEbJVpTUuC8SgsnX6qr-2" target="WKEbJVpTUuC8SgsnX6qr-4">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="WKEbJVpTUuC8SgsnX6qr-32" value="No" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=16;" vertex="1" connectable="0" parent="WKEbJVpTUuC8SgsnX6qr-17">
|
||||
<mxGeometry x="-0.2673" y="2" relative="1" as="geometry">
|
||||
<mxPoint as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="WKEbJVpTUuC8SgsnX6qr-19" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="WKEbJVpTUuC8SgsnX6qr-2" target="WKEbJVpTUuC8SgsnX6qr-18">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="WKEbJVpTUuC8SgsnX6qr-31" value="<font style="font-size: 16px;">Yes</font>" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="WKEbJVpTUuC8SgsnX6qr-19">
|
||||
<mxGeometry x="-0.389" y="-3" relative="1" as="geometry">
|
||||
<mxPoint as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="WKEbJVpTUuC8SgsnX6qr-2" value="Predicted Fertility &gt; Threshold" style="rhombus;whiteSpace=wrap;html=1;spacingTop=9;" vertex="1" parent="1">
|
||||
<mxGeometry x="235" y="190" width="130" height="130" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="WKEbJVpTUuC8SgsnX6qr-26" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="WKEbJVpTUuC8SgsnX6qr-4" target="WKEbJVpTUuC8SgsnX6qr-7">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="WKEbJVpTUuC8SgsnX6qr-28" value="Yes" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=16;" vertex="1" connectable="0" parent="WKEbJVpTUuC8SgsnX6qr-26">
|
||||
<mxGeometry x="0.6233" relative="1" as="geometry">
|
||||
<mxPoint as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="WKEbJVpTUuC8SgsnX6qr-27" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="WKEbJVpTUuC8SgsnX6qr-4" target="WKEbJVpTUuC8SgsnX6qr-8">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="WKEbJVpTUuC8SgsnX6qr-30" value="No" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=16;" vertex="1" connectable="0" parent="WKEbJVpTUuC8SgsnX6qr-27">
|
||||
<mxGeometry x="0.6233" y="-3" relative="1" as="geometry">
|
||||
<mxPoint x="3" as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="WKEbJVpTUuC8SgsnX6qr-4" value="Actual Fertility &gt;<div>Threshold</div>" style="rhombus;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="650" y="322.5" width="120" height="125" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="WKEbJVpTUuC8SgsnX6qr-7" value="Incorrect Deferral" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="570" y="620" width="120" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="WKEbJVpTUuC8SgsnX6qr-8" value="Correct Deferral" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="730" y="620" width="120" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="WKEbJVpTUuC8SgsnX6qr-9" value="Pregnancy" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="245" y="620" width="120" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="WKEbJVpTUuC8SgsnX6qr-10" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="WKEbJVpTUuC8SgsnX6qr-15" target="WKEbJVpTUuC8SgsnX6qr-9">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="390" y="470" as="sourcePoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="WKEbJVpTUuC8SgsnX6qr-11" value="(X &lt;= P)" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=17;" vertex="1" connectable="0" parent="WKEbJVpTUuC8SgsnX6qr-10">
|
||||
<mxGeometry x="0.0505" y="1" relative="1" as="geometry">
|
||||
<mxPoint x="-38" y="37" as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="WKEbJVpTUuC8SgsnX6qr-12" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="WKEbJVpTUuC8SgsnX6qr-15" target="WKEbJVpTUuC8SgsnX6qr-14">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="450.0344827586207" y="500" as="sourcePoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="WKEbJVpTUuC8SgsnX6qr-13" value="(X &gt; P)" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=16;" vertex="1" connectable="0" parent="WKEbJVpTUuC8SgsnX6qr-12">
|
||||
<mxGeometry x="-0.1219" y="1" relative="1" as="geometry">
|
||||
<mxPoint x="62" y="39" as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="WKEbJVpTUuC8SgsnX6qr-14" value="No Pregnancy" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="410" y="620" width="120" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="WKEbJVpTUuC8SgsnX6qr-15" value="<span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: center; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;">Actual Fertility as&nbsp;</span><div style="forced-color-adjust: none; font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: center; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; box-shadow: none !important;">Probability P</div>" style="rhombus;whiteSpace=wrap;html=1;fontColor=default;labelBackgroundColor=none;spacingTop=5;" vertex="1" parent="1">
|
||||
<mxGeometry x="330" y="325" width="120" height="120" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="WKEbJVpTUuC8SgsnX6qr-21" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="WKEbJVpTUuC8SgsnX6qr-18" target="WKEbJVpTUuC8SgsnX6qr-20">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="WKEbJVpTUuC8SgsnX6qr-25" value="(X &gt; P)" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=16;" vertex="1" connectable="0" parent="WKEbJVpTUuC8SgsnX6qr-21">
|
||||
<mxGeometry x="-0.0301" y="1" relative="1" as="geometry">
|
||||
<mxPoint x="-1" y="38" as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="WKEbJVpTUuC8SgsnX6qr-22" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="WKEbJVpTUuC8SgsnX6qr-18" target="WKEbJVpTUuC8SgsnX6qr-15">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="WKEbJVpTUuC8SgsnX6qr-24" value="(X &lt;= P)" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=16;" vertex="1" connectable="0" parent="WKEbJVpTUuC8SgsnX6qr-22">
|
||||
<mxGeometry x="-0.337" y="1" relative="1" as="geometry">
|
||||
<mxPoint x="7" y="1" as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="WKEbJVpTUuC8SgsnX6qr-18" value="Intercourse&nbsp;<div>Probability as P</div>" style="rhombus;whiteSpace=wrap;html=1;spacingTop=-1;" vertex="1" parent="1">
|
||||
<mxGeometry x="75" y="320" width="130" height="130" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="WKEbJVpTUuC8SgsnX6qr-20" value="No Sex" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="80" y="620" width="120" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
</root>
|
||||
</mxGraphModel>
|
||||
</diagram>
|
||||
</mxfile>
|
||||
BIN
Binary file not shown.
|
After Width: | Height: | Size: 201 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 263 KiB After Width: | Height: | Size: 259 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 225 KiB After Width: | Height: | Size: 225 KiB |
@@ -154,6 +154,27 @@ detecting the slight temperature rise that follows ovulation.
|
||||
Advances in wearable technology have further enabled continuous and automated temperature monitoring,
|
||||
improving accessibility and usability~\cite{alexander_fertilitatsmonitoring_2014, luo_detection_2020, yu_tracking_2022}.
|
||||
|
||||
\subsubsection{Use Cases of Fertility Prediction}\label{subsubsec:use_cases_of_ovulation_prediction}
|
||||
The prediction of ovulation and corresponding fertility within a menstrual cycle serves two distinct use cases.
|
||||
Specifically, we will focus on \emph{natural family planning} (NFP), which includes preventing and achieving pregnancy.
|
||||
Individuals aiming to avoid pregnancy identify fertile days to abstain from intercourse,
|
||||
whereas those seeking pregnancy aim to focus intercourse around days with the highest fertility probability.
|
||||
|
||||
Both use cases revolve around accurately predicting ovulation.
|
||||
However, the implications of prediction errors differ significantly.
|
||||
A false-positive prediction indicates high fertility despite actual fertility being low or nonexistent,
|
||||
whereas a false-negative prediction implies low fertility when fertility is actually high.
|
||||
|
||||
For women aiming to avoid pregnancy, minimizing false-negative predictions is crucial due to the risk of unintended pregnancy.
|
||||
Although false-positives may lead to unnecessary abstinence, this outcome is generally considered less severe.
|
||||
Consequently, prediction algorithms should be conservative, erring on the side of higher fertility estimates to prioritize safety.
|
||||
|
||||
Conversely, for women aiming to conceive, false-positive predictions could misdirect efforts toward incorrect cycle days,
|
||||
causing frustration or delays.
|
||||
False-negatives have fewer negative consequences.
|
||||
Therefore, algorithms for this group should prefer cautious fertility estimates,
|
||||
reducing the risk of misdirected effort.
|
||||
|
||||
\subsection{Data Source and Characteristics}\label{subsec:data_background}
|
||||
This study is based on a dataset collected from users of the \emph{OvulaRing}~\cite{noauthor_ovularing_nodate},
|
||||
an intravaginal wearable sensor developed by VivoSensMedical GmbH, located in Leipzig, Germany~\cite{noauthor_vivosens_nodate}.
|
||||
@@ -532,7 +553,6 @@ including time-series forecasting and biomedical modeling~\cite{wu_deep_nodate,z
|
||||
Its ability to model complex, long-range dependencies without recurrence makes it well-suited to domains like biomedical time-series,
|
||||
where signals are often irregular and span diverse temporal resolutions.
|
||||
|
||||
|
||||
\subsubsection{Convolutional Layers as Temporal Feature Extractors}
|
||||
For high-resolution time-series data, the input dimensionality can become large,
|
||||
especially in models like Transformers that process the entire sequence in parallel.
|
||||
|
||||
@@ -573,6 +573,21 @@ The batch size was capped at 2048 to avoid OOM errors during data preparation.
|
||||
To meaningfully compare model performance, we define a set of metrics that capture both overall accuracy and behavior at key points in the prediction sequence.
|
||||
This includes metrics for different temporal segments, enabling a more detailed understanding of model strengths and limitations.
|
||||
|
||||
\subsubsection{Baseline Comparisons}\label{subsubsec:baseline_comparisons}
|
||||
|
||||
To place model results into context, a set of simple baseline models was established.
|
||||
These models rely on minimal assumptions and serve to evaluate whether the more complex models actually learn meaningful patterns beyond basic cycle regularities.
|
||||
|
||||
Three types of baselines are considered:
|
||||
\begin{itemize}
|
||||
\item \textbf{Population-Mean OV Day}: predicts the mean ovulation day across the full population.
|
||||
\item \textbf{User-Mean OV Day}: predicts the user’s average ovulation day; uses the population mean for the first cycle.
|
||||
\item \textbf{Previous OV Day}: predicts the ovulation day from the previous cycle; uses the population mean for the first cycle.
|
||||
\end{itemize}
|
||||
|
||||
These baselines also help assess performance on regular menstrual patterns, something often overlooked in related work (see Section~\ref{sec:related_work}).
|
||||
In many cases, it remains unclear whether proposed models genuinely outperform such simple heuristics.
|
||||
|
||||
\subsubsection{Evaluation Metrics}\label{subsubsec:evaluation_metrics}
|
||||
|
||||
The base metric used for all categories is the mean absolute error (MAE),
|
||||
@@ -682,20 +697,80 @@ For a user to be included in the analysis, they must have at least five complete
|
||||
Additionally, ovulation must occur no later than cycle day 150, as later values likely indicate measurement errors or
|
||||
biologically atypical cases that fall outside the scope of this study.
|
||||
|
||||
\subsubsection{Baseline Comparisons}\label{subsubsec:baseline_comparisons}
|
||||
\subsubsection{Use Case Evaluation}
|
||||
We further evaluate the two distinct use cases introduced in Section~\ref{subsubsec:use_cases_of_ovulation_prediction}.
|
||||
For this purpose, two specialized evaluation algorithms were developed,
|
||||
enabling comparability between models and providing interpretable performance metrics for each scenario.
|
||||
|
||||
To place model results into context, a set of simple baseline models was established.
|
||||
These models rely on minimal assumptions and serve to evaluate whether the more complex models actually learn meaningful patterns beyond basic cycle regularities.
|
||||
\paragraph{Contraception Use-Case:}
|
||||
For evaluating contraceptive effectiveness, we developed an algorithm inspired by the classical \emph{Pearl Index},
|
||||
initially proposed by~\citeauthor{pearl_factors_1933} in~\citeyear{pearl_factors_1933}.
|
||||
|
||||
Three types of baselines are considered:
|
||||
\begin{figure}[htbp]
|
||||
\centering
|
||||
\includegraphics[width=0.9\textwidth]{resources/figures/methodology/methodology_use_case_contraception_decision_diagram}
|
||||
\caption{
|
||||
Decision diagram outlining the evaluation procedure for the contraception use case.
|
||||
}
|
||||
\label{fig:methodology_use_case_contraception_decision_diagram}
|
||||
\end{figure}
|
||||
|
||||
Figure~\ref{fig:methodology_use_case_contraception_decision_diagram} illustrates the decision logic of the evaluation algorithm.
|
||||
The fertility threshold can be adjusted, as will be explored in Section~\ref{subsec:use_case_evaluation_results}.
|
||||
A day-specific probability of intercourse is computed for each user based on age distributions reported by~\cite{twenge_declines_2017}.
|
||||
We assume, that the users don't have any health-related or non-health-related issues affecting fertility.
|
||||
If a user's age is unknown, it is randomly drawn from the overall dataset distribution.
|
||||
Only users with at least one continuous year of data are included.
|
||||
|
||||
Each day of data for a full year is categorized by the algorithm into one of the following outcomes:
|
||||
\begin{itemize}
|
||||
\item \textbf{Population-Mean OV Day}: predicts the mean ovulation day across the full population.
|
||||
\item \textbf{User-Mean OV Day}: predicts the user’s average ovulation day; uses the population mean for the first cycle.
|
||||
\item \textbf{Previous OV Day}: predicts the ovulation day from the previous cycle; uses the population mean for the first cycle.
|
||||
\item \emph{No Sex}: no intercourse occurred.
|
||||
\item \emph{Correct Denial}: fertility prediction correctly indicated abstinence during a fertile period.
|
||||
\item \emph{Incorrect Denial}: fertility prediction incorrectly indicated abstinence during an infertile period.
|
||||
\item \emph{Pregnancy}: fertility prediction allowed intercourse during a potentially fertile period, and it led to a pregnancy.
|
||||
\item \emph{No Pregnancy}: fertility prediction allowed intercourse during an infertile or potentially fertile period, but it did not lead to a pregnancy.
|
||||
\end{itemize}
|
||||
|
||||
These baselines also help assess performance on regular menstrual patterns, something often overlooked in related work (see Section~\ref{sec:related_work}).
|
||||
In many cases, it remains unclear whether proposed models genuinely outperform such simple heuristics.
|
||||
This categorization captures both the contraceptive accuracy (avoiding pregnancy) and the practicality
|
||||
(minimizing unnecessary abstinence) of the predictive algorithm.
|
||||
An algorithm achieving perfect contraceptive accuracy by always recommending abstinence would score highly but
|
||||
significantly limit user acceptability and utility.
|
||||
|
||||
\paragraph{Pregnancy Use-Case:}
|
||||
|
||||
For the pregnancy use-case, we developed a complementary algorithm to evaluate model performance for users attempting to conceive.
|
||||
|
||||
\begin{figure}[htbp]
|
||||
\centering
|
||||
\includegraphics[width=0.9\textwidth]{resources/figures/methodology/methodology_use_case_pregnancy_decision_diagram}
|
||||
\caption{
|
||||
Decision diagram outlining the evaluation procedure for the pregnancy use case.
|
||||
}
|
||||
\label{fig:methodology_use_case_pregnancy_decision_diagram}
|
||||
\end{figure}
|
||||
|
||||
Figure~\ref{fig:methodology_use_case_pregnancy_decision_diagram} illustrates the decision logic of this algorithm.
|
||||
The fertility threshold is adjustable and is explored further in Section~\ref{subsec:use_case_evaluation_results}.
|
||||
Since sexual intercourse frequency differs slightly for couples trying to conceive~\cite{gaskins_predictors_2018},
|
||||
we assume an average frequency of six times per month.
|
||||
We derive a daily probability of intercourse based on remaining fertile days predicted for the month,
|
||||
ensuring that intercourse frequency averages out to this monthly rate.
|
||||
|
||||
We assume no health-related fertility impairments for comparative simplicity,
|
||||
though we acknowledge that real-world fertility is influenced by numerous complex factors.
|
||||
Similar to the contraception scenario, only users with at least one continuous year of data are considered.
|
||||
|
||||
Each day in a full year is classified into one of the following categories:
|
||||
\begin{itemize}
|
||||
\item \emph{No Sex}: Day predicted as fertile, but no intercourse occurred.
|
||||
\item \emph{Pregnancy}: Correct fertile prediction, intercourse occurred, resulting in pregnancy.
|
||||
\item \emph{No Pregnancy}: Correct fertile prediction, intercourse occurred, but no pregnancy occurred.
|
||||
\item \emph{Incorrect Deferral}: Incorrect non-fertile prediction, actual fertility was above threshold.
|
||||
\item \emph{Correct Deferral}: Correct non-fertile prediction.
|
||||
\end{itemize}
|
||||
|
||||
This classification measures both fertility prediction accuracy and the impact of incorrect deferrals.
|
||||
A model overly predicting fertility would increase pregnancy rates but negatively affect usability due to misdirected efforts.
|
||||
|
||||
\subsection{Ethical Considerations}\label{subsec:ethical_considerations}
|
||||
|
||||
|
||||
@@ -49,6 +49,13 @@ allowing for a nuanced comparison of approaches and their practical relevance to
|
||||
|
||||
\subsubsection{Influence of User History Depth}\label{subsubsec:influence_of_past_user_data}
|
||||
|
||||
\subsection{Use-Case Evaluation Results}\label{subsec:use_case_evaluation_results}
|
||||
|
||||
\subsubsection{Contraception Use-Case Results}\label{subsubsec:use_case_contraception_results}
|
||||
|
||||
\subsubsection{Pregnancy Use-Case Results}\label{subsubsec:use_case_pregnancy_results}
|
||||
|
||||
|
||||
% show, that past cycles might not directly be included but are indirectly included by the static features
|
||||
|
||||
\subsection{Summary of Key Findings}\label{subsec:summary_of_key_findings}
|
||||
|
||||
Reference in New Issue
Block a user